1.1.10
⚠️ 改动
由于Visual Studio的智能感知无法识别同名的依赖属性和常规属性,从而经常导致大片的错误提示,因此Panuon.WPF.UI在所有的资源键末尾都加上了Key尾缀。例如,当你修改了 WindowX 窗体X 的 CloseButtonStyle
属性,并继承了Panuon.WPF.UI的自带样式时,你的代码需要从:
BasedOn="{StaticResource {x:Static pu:WindowXCaption.CloseButtonStyle}}"
更改为:
BasedOn="{StaticResource {x:Static pu:WindowXCaption.CloseButtonStyleKey}}"
🌟 新功能
-
Panuon.WPF.UI组件库提供了新的统一网址命名空间
https://opensource.panuon.com/wpf-ui
。现在,你可以使用xmlns:pu="https://opensource.panuon.com/wpf-ui"
命名空间来取代现有的命名空间:
xmlns:pu="clr-namespace:Panuon.WPF.UI;assembly=Panuon.WPF.UI"
xmlns:purs="clr-namespace:Panuon.WPF.UI.Resources;assembly=Panuon.WPF.UI"
xmlns:puconfig="clr-namespace:Panuon.WPF.UI.Configurations;assembly=Panuon.WPF.UI"
。 -
Panuon.WPF.UI在 Button 按钮 控件上首次尝试了类似于Web端的
Class
写法。如果你对前端开发足够了解,现在你可以使用ClassName
属性来精简你的代码。请注意,这是尚在测试中的功能,当前仅有 ButtonHelper 按钮 中带有ClassName
属性。如果出现任何问题,请在issue中留言。
你可以将以下代码:
<Button Content="Button" Width="250" Height="35" pu:ButtonHelper.Icon="" pu:ButtonHelper.IconPlacement="Right"
pu:ButtonHelper.HoverBackground="#440000FF" Foreground="White" Padding="0">
<Button.Background>
<LinearGradientBrush>
<GradientStop Color="#0692F0" Offset="0" />
<GradientStop Color="#0692F0" Offset="0.2" />
<GradientStop Color="#37F8E0" Offset="1" />
</LinearGradientBrush>
</Button.Background>
</Button>
精简为:
<Button Content="Button"
pu:ButtonHelper.ClassName="w-250 h-35 i-e900,right
bg-#0692F0,0~#0692F0,0.2~#37F8E0,1 bg-hover-#440000FF fg-white padding-0,0,0,0" />
在实际的测试中,使用这种方式创建100个按钮控件大约需要额外消耗5ms的时间。
下个版本中的新功能
Panuon.WPF.UI找到了一个优化前端代码的可行性方法,预计能带来33%左右的初始化效率提升。
新增
新增了 CalendarX 日历 、 TimeSelector 时间选择器 、 DateTimePicker 日期时间选择器 中的部分样式属性。
新增了 CalendarX 日历 中的 IsTodayHighlight
属性,这个属性可以高亮当天的日期。要调整高亮的效果,你可以通过 ItemsSpecialDayHighlightTemplate
属性来实现。以下是 ItemsSpecialDayHighlightTemplate
属性的默认值:
<DataTemplate>
<Ellipse Width="4"
Height="4"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Margin="3"
Fill="{Binding Foreground, RelativeSource={RelativeSource AncestorType=pu:CalendarX}, Mode=OneWay}" />
</DataTemplate>