Skip to content

Releases: Panuon/Panuon.WPF.UI

1.2.1.4

18 May 13:20
Compare
Choose a tag to compare

新增

  1. 新增了 InputLimits 枚举中的 LettersDashUnderline 值。这可以用于限制在 TextBox 中输入字母(同时包含大写和小写)、短横线和下划线。
  2. 新增了 NumberInput 数值输入控件StepFactor 属性。这个属性可以用于控制按钮每次增减数值的倍率(实际增减量 = Interval * StepFactor)。它的默认值为1。

1.2.1.3

17 May 09:41
Compare
Choose a tag to compare

新增

  1. 新增了 pu:IconHelper.ToggleArrowFontSize 属性。该属性可以用于修改 ComboBoxColorPicker 等控件的下拉箭头 字体大小。它的值默认与 FontSize 绑定。
  2. 新增了 pu:ScrollViewerHelper.MouseWheelUnit 属性。对于 ListBoxTreeView 这类按对象而非按像素滚动的控件(CanContentScroll=True),可以使用该属性来调整每次鼠标滚动的数量。它的默认值为1(每次滚动1个子对象)。

修复

  1. 修复了在 ListBoxTreeView 这类控件中滚动条速度过快的问题。
  2. 修复了在部分控件中右键点击也会触发选中的问题。

1.2.1

18 Mar 13:36
Compare
Choose a tag to compare

修复

严重⚠️: 修复 MenuItem 二级、三级子项样式未生效的问题。

修改

由于默认样式不够美观, Menu 菜单 的子项下拉框默认宽度调整为 150 。若要取消对宽度的限制,请在 Menu 菜单 上设置 pu:DropDownHelper.Width="NaN"

1.2.0

11 Mar 17:10
Compare
Choose a tag to compare

新增

  1. 新增了 pu:ToastSettings.ClearBeforeShow 属性。当属性的值为 True 时,显示新的 Toast 前将清空现有的内容。这个属性也可以通过在 App.xaml 中插入 <pu:ToastSetting 节点来使用。 #211
  2. MessageBoxX.Show 新增了一组带有全部参数的重载方法。 #210
  3. Panuon.WPF 项目现在提供了新的命名空间映射 https://opensource.panuon.com/wpf ,在未来的官方示例中,将使用 xmlns:pw 这一缩写来指代它。
  4. 新增了 StyleDictionaryKeyOnlyStyleDictionary 类,它可以便捷地插入 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" />

改动

  1. ⚠️ 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

25 Feb 22:16
0310c87
Compare
Choose a tag to compare

修复

修复了当 PasswordBoxHelper 密码框 未使用 pu:PasswordBoxHelper.Password 属性进行设置,但使用 PasswordBox.Password 属性设置了密码,会导致初始化时密码被清除的问题。
修复了 Bubble 气泡 控件不会随着内容的增减进行大小自适应的问题。

1.1.17.4

20 Feb 03:25
Compare
Choose a tag to compare

修复

修复了 DropDown 下拉MultiComboBox 多选下拉框 等控件在成功初始化但尚未加入到视图树时(例如不在第1个 TabItem 中)出现下拉框无法打开的问题。

改进

ContextMenuHelper 右键菜单 中的属性现在全部支持继承。你可以在 Window 窗体 或父容器上设置其中的属性,这将对所有子项的右键菜单生效。
ToolTIpHelper 悬浮提示 中新增了 WidthMinWidthMaxWidthHeightMinHeightMaxHeight 属性,这些属性支持从父容器上继承。

1.1.17

17 Feb 04:07
bbc502d
Compare
Choose a tag to compare

修复

修复了目前已知的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

21 Sep 10:06
Compare
Choose a tag to compare

修复

修复了已知的问题。

新增

NoticeBoxSettings NoticeBox全局设置 中新增了 Position 属性,该属性可以指示提示框窗体是显示在屏幕的 TopLeftTopRightBottomRight 还是 BottomLeft 位置(默认值为 BottomRight )。注意,在首次调用 NoticeBox.Show 之后,要重新设置显示位置,必须先调用 NoticeBox.DestroyInstance() 方法。

1.1.15.9

16 Sep 07:08
Compare
Choose a tag to compare

改进

现在可以简化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

12 Jul 08:07
Compare
Choose a tag to compare

改动

TabControlHelper 标签页HeaderPanelHorizontalAlignment 属性重命名为 HeaderPanelAlignment 属性。

修复

修复了 SwitchPadding 不为 0 时出现圆钮位置错误的问题。

新功能

TabControlHelper 标签页 的子项超过长度或高度时,将在左右两侧显示翻页按钮。按钮的样式可以通过 HeaderPanelScrollButtonStyle 属性调整。要禁用翻页按钮,可以将 CanHeaderPanelScroll 属性设为 False