Skip to content

1.1.10

Compare
Choose a tag to compare
@Mochengvia Mochengvia released this 10 May 07:27

⚠️ 改动

由于Visual Studio的智能感知无法识别同名的依赖属性和常规属性,从而经常导致大片的错误提示,因此Panuon.WPF.UI在所有的资源键末尾都加上了Key尾缀。例如,当你修改了 WindowX 窗体XCloseButtonStyle 属性,并继承了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="&#xe900;" 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>