Releases: Panuon/Panuon.WPF.UI
1.2.1.4
新增
- 新增了 InputLimits 枚举中的
Letters
、Dash
和Underline
值。这可以用于限制在 TextBox 中输入字母(同时包含大写和小写)、短横线和下划线。 - 新增了 NumberInput 数值输入控件 的
StepFactor
属性。这个属性可以用于控制按钮每次增减数值的倍率(实际增减量 =Interval
*StepFactor
)。它的默认值为1。
1.2.1.3
新增
- 新增了
pu:IconHelper.ToggleArrowFontSize
属性。该属性可以用于修改 ComboBox 、 ColorPicker 等控件的下拉箭头 字体大小。它的值默认与FontSize
绑定。 - 新增了
pu:ScrollViewerHelper.MouseWheelUnit
属性。对于 ListBox 、 TreeView 这类按对象而非按像素滚动的控件(CanContentScroll=True
),可以使用该属性来调整每次鼠标滚动的数量。它的默认值为1(每次滚动1个子对象)。
修复
- 修复了在 ListBox 、 TreeView 这类控件中滚动条速度过快的问题。
- 修复了在部分控件中右键点击也会触发选中的问题。
1.2.1
修复
严重
修改
由于默认样式不够美观, Menu 菜单 的子项下拉框默认宽度调整为 150
。若要取消对宽度的限制,请在 Menu 菜单 上设置 pu:DropDownHelper.Width="NaN"
。
1.2.0
新增
- 新增了 pu:ToastSettings.ClearBeforeShow 属性。当属性的值为
True
时,显示新的Toast
前将清空现有的内容。这个属性也可以通过在App.xaml
中插入<pu:ToastSetting
节点来使用。 #211 MessageBoxX.Show
新增了一组带有全部参数的重载方法。 #210Panuon.WPF
项目现在提供了新的命名空间映射https://opensource.panuon.com/wpf
,在未来的官方示例中,将使用xmlns:pw
这一缩写来指代它。- 新增了 StyleDictionary 和 KeyOnlyStyleDictionary 类,它可以便捷地插入
Panuon.WPF.UI
提供的样式资源字典。这是一组示例:
旧的写法:
<!--引用全部样式-->
<ResourceDictionary Source="pack://application:,,,/Panuon.WPF.UI;component/Control.xaml" />
<!--引用TabControl和TextBox样式-->
<ResourceDictionary Source="pack://application:,,,/Panuon.WPF.UI;component/TabControl.xaml" />
<ResourceDictionary Source="pack://application:,,,/Panuon.WPF.UI;component/TabItem.xaml" />
<ResourceDictionary Source="pack://application:,,,/Panuon.WPF.UI;component/TextBox.xaml" />
<!--引用Button和ComboBox样式的资源键-->
<ResourceDictionary Source="pack://application:,,,/Panuon.WPF.UI;component/ButtonStyle.xaml" />
<ResourceDictionary Source="pack://application:,,,/Panuon.WPF.UI;component/ComboBoxStyle.xaml" />
新的写法:
<pu:StyleDictionary Includes="All" />
<pu:StyleDictionary Includes="TabControl,TextBox" />
<pu:KeyOnlyStyleDictionary Includes="Button,ComboBox" />
改动
⚠️ ConverterKeys 类现在已从Panuon.WPF.UI
项目中完全删除。这是出于对其他Panuon.WPF.*
库的共用性而考虑的结果,公共转换器现在移动到了Panuon.WPF
项目中,从而避免在其他项目中重复编写。另外,现在无需引用任何资源字典,就能在项目中使用这些公共转换器。
对于已经在项目中使用的转换器,需要移除{StaticResource}
,并将ConverterKeys
替换为Converters
。这是一个示例:
xmlns:pw="https://opensource.panuon.com/wpf"
xmlns:pu="https://opensource.panuon.com/wpf-ui"
···
旧的写法:
Converter={StaticResource {x:Static pu:ConverterKeys.TrueToFalseConverter}}
新的写法:
Converer={x:Static pu:Converters.TrueToFalseConverter}
或
Converer={x:Static pw:Converters.TrueToFalseConverter}
在新代码中使用转换器时,请尽可能使用 pw:Converters
。 在未来的版本中, pu:Converters
可能会被删除(之所以没有立即删除,是不希望对现有的项目造成过多的影响)。
1.1.17.5
修复
修复了当 PasswordBoxHelper 密码框
未使用 pu:PasswordBoxHelper.Password
属性进行设置,但使用 PasswordBox.Password
属性设置了密码,会导致初始化时密码被清除的问题。
修复了 Bubble 气泡
控件不会随着内容的增减进行大小自适应的问题。
1.1.17.4
修复
修复了 DropDown 下拉 、 MultiComboBox 多选下拉框 等控件在成功初始化但尚未加入到视图树时(例如不在第1个 TabItem 中)出现下拉框无法打开的问题。
改进
ContextMenuHelper 右键菜单 中的属性现在全部支持继承。你可以在 Window 窗体 或父容器上设置其中的属性,这将对所有子项的右键菜单生效。
ToolTIpHelper 悬浮提示 中新增了 Width
、 MinWidth
、MaxWidth
、 Height
、 MinHeight
、 MaxHeight
属性,这些属性支持从父容器上继承。
1.1.17
修复
修复了目前已知的BUG。
在之前的版本中,对于 TreeView 树视图 、 Menu 菜单 和 ContextMenu 右键菜单 控件,即使设置了 ItemContainerStyle
也只能对第一级子项生效,这个问题现在已经得到解决。使用新版本后,无需再设置 TreeViewItem 树子项 、 MenuItem 菜单子项 的 ItemContainerStyle
属性。
新增
新增了 ToggleButtonGroup 状态按钮组 控件,它可以生成一组可供用户选择的 ToggleButton 状态按钮 。这个控件派生自 MultiSelector 多选器 ,因此你既可以直接往 Items
中添加 ToggleButton 状态按钮 ,也可以通过 ItemsSource
属性进行绑定。在使用MVVM绑定数据时,可以使用和 TreeView 树视图 等控件类似的方法,在你的自定义的类型中添加 IsSelected
(或其他名称) 的布尔属性,然后通过 ItemContainerStyle
绑定到 IsChecked
属性上。这是一个简单的示例:
<pu:ToggleButtonGroup DisplayMemberPath="DisplayName"
ItemsSource="{Binding ToggleItems}">
<pu:ToggleButtonGroup.ItemContainerStyle>
<Style TargetType="ToggleButton"
BasedOn="{StaticResource {x:Static pu:ToggleButtonGroup.ToggleButtonStyleKey}}">
<Setter Property="IsChecked"
Value="{Binding IsSelected, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />
</Style>
</pu:ToggleButtonGroup.ItemContainerStyle>
</pu:ToggleButtonGroup>
1.1.16
修复
修复了已知的问题。
新增
NoticeBoxSettings NoticeBox全局设置 中新增了 Position
属性,该属性可以指示提示框窗体是显示在屏幕的 TopLeft
、 TopRight
、 BottomRight
还是 BottomLeft
位置(默认值为 BottomRight
)。注意,在首次调用 NoticeBox.Show
之后,要重新设置显示位置,必须先调用 NoticeBox.DestroyInstance()
方法。
1.1.15.9
改进
现在可以简化pu的资源字典了。可以将
<ResourceDictionary Source="pack://application:,,,/Panuon.WPF.UI;component/Control.xaml" />
替换为:
xmlns:pu="https://opensource.panuon.com/wpf-ui"
...
<ResourceDictionary Source="{x:Static pu:ResourceDictionaryUris.All}" />
其他控件的独立资源字典将陆续提供支持。
新增
PasswordBoxHelper 密码框 中新增了 IsReadOnly
属性。
GlobalSettings 全局设置 中新增了 FocusVisualStyle
属性。这个属性可以用于统一设置pu中提供的所有控件的 FocusVisualStyle
属性。注意,没有应用pu样式的控件不会生效。
Toast 消息 中新增了 icon
参数(MessageBoxIcon类型)。在使用icon参数后,会在Toast消息前面显示图标。要修改图标的样式,可以通过继承 ToastSettings.LabelStyle
并修改 ContentTemplate
属性。
Switch 开关 中新增了 BoxTemplate
属性。这个属性可以用于向开关的盒子中添加任何内容,例如表示开/关的图标或文本。这是一个简单的示例:
<pu:Switch BoxWidth="45">
<pu:Switch.BoxTemplate>
<DataTemplate>
<Grid Margin="8,0,5,0" VerticalAlignment="Center">
<TextBlock Text="I" Foreground="White" />
<TextBlock HorizontalAlignment="Right" Text="〇" />
</Grid>
</DataTemplate>
</pu:Switch.BoxTemplate>
</pu:Switch>
1.1.15
改动
TabControlHelper 标签页 的 HeaderPanelHorizontalAlignment
属性重命名为 HeaderPanelAlignment
属性。
修复
修复了 Switch 在 Padding
不为 0
时出现圆钮位置错误的问题。
新功能
当 TabControlHelper 标签页 的子项超过长度或高度时,将在左右两侧显示翻页按钮。按钮的样式可以通过 HeaderPanelScrollButtonStyle
属性调整。要禁用翻页按钮,可以将 CanHeaderPanelScroll
属性设为 False
。