Professional wpf ui library.
True
时,显示新的 Toast
前将清空现有的内容。这个属性也可以通过在 App.xaml
中插入 <pu:ToastSetting
节点来使用。 #211MessageBoxX.Show
新增了一组带有全部参数的重载方法。 #210Panuon.WPF
项目现在提供了新的命名空间映射 https://opensource.panuon.com/wpf
,在未来的官方示例中,将使用 xmlns:pw
这一缩写来指代它。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" />
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
可能会被删除(之所以没有立即删除,是不希望对现有的项目造成过多的影响)。
修复了目前已知的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>
现在可以简化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>
修复了多个控件在使用 ShadowColor
时出现文字模糊的异常。
修复了多个派生自 ItemsControl 控件的子项中 IconHelper 图标辅助类 未生效的问题。
新增了 Timeline 时间轴 类,它可以用来展示进度,也可以通过控制 IsCompleted
属性来作为步骤条使用。关于它的使用方法,你可以参考这篇wiki文档。