修改 ColorPicker 调色板的大小
Modify the size of ColorPicker palette
由于某些 GUI 大小限制,我想修改 XCeed ColorPicker 的调色板大小。按钮的宽度小于下拉弹出窗口;我只想更改弹出窗口的宽度(或高度)以强加可用标准颜色的布局。默认情况下我们有 10 列颜色,我想要 6 或 8 列颜色。有什么办法吗?
在 ColorPicker 的默认模板中,您会注意到一个名为 "PART_AvailableColors" 的列表框。该 ListBox 使用名为 "ColorListStyle" 的样式。在该样式中,我们将 ItemsPanel 属性 设置为宽度为 200 的 WrapPanel。
<Style x:Key="ColorListStyle" TargetType="ListBox">
<!-- ... --->
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<WrapPanel Width="200" />
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
<!-- ... --->
</Style>
不幸的是,目前没有内置的方法可以轻松更改 ColorPicker 的布局,所以现在我能提供的唯一选择是重做代码中的 Template/Style 以设置不同的宽度在 WrapPanel 上。
可以在工具包附带的源代码中找到默认模板和样式。
编辑:在 ColorPicker 上添加了 属性 MaxDropDownWidth
以自定义弹出窗口的宽度(3.1 版新增)。
由于某些 GUI 大小限制,我想修改 XCeed ColorPicker 的调色板大小。按钮的宽度小于下拉弹出窗口;我只想更改弹出窗口的宽度(或高度)以强加可用标准颜色的布局。默认情况下我们有 10 列颜色,我想要 6 或 8 列颜色。有什么办法吗?
在 ColorPicker 的默认模板中,您会注意到一个名为 "PART_AvailableColors" 的列表框。该 ListBox 使用名为 "ColorListStyle" 的样式。在该样式中,我们将 ItemsPanel 属性 设置为宽度为 200 的 WrapPanel。
<Style x:Key="ColorListStyle" TargetType="ListBox">
<!-- ... --->
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<WrapPanel Width="200" />
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
<!-- ... --->
</Style>
不幸的是,目前没有内置的方法可以轻松更改 ColorPicker 的布局,所以现在我能提供的唯一选择是重做代码中的 Template/Style 以设置不同的宽度在 WrapPanel 上。
可以在工具包附带的源代码中找到默认模板和样式。
编辑:在 ColorPicker 上添加了 属性 MaxDropDownWidth
以自定义弹出窗口的宽度(3.1 版新增)。