WPF 工具包颜色选择器编辑模板现在没有可用的颜色

标签 wpf xaml colors toolkit picker

我已经在 Google 上寻找问题的解决方案几个小时了,但找不到太多信息。

我使用的是 WPF Toolkit v2.2.1。

我的 WPF 应用程序中有一个颜色选择器控件,需要自定义样式。我正在 App.xaml 中编辑颜色选择器的控件模板以应用于所有颜色选择器。

一旦我选择使用模板,所有可用的颜色就会从颜色选择器中消失。我尝试从代码中分配新的可用颜色,但没有成功。

颜色集合就在那里,只是看起来没有显示。

这就是 CP 在我的 mainwindow.xaml 中的定义方式

<xctk:ColorPicker x:Name="cpRing" SelectedColorChanged="cpRing_Changed" HorizontalAlignment="Left" Margin="238,5,0,0" VerticalAlignment="Top" Height="20" Width="39" Foreground="Black"/>

遗憾的是,控件模板太大,无法粘贴到此处。但这应该可以通过将 CP 添加到 wpf 窗口并在设计 View 中右键单击它并选择“编辑模板”来轻松重现。一旦应用,颜色就会消失,不会改变任何东西。

有人知道在编辑控件模板时如何才能显示可用的颜色吗?

致以诚挚的问候

最佳答案

是的,它的风格有问题。但如果你仔细观察它的风格就会发现问题:

在xaml中搜索关键字StandardColorsAvailableColors,这是StandardColors的模板:

<ListBox x:Name="PART_StandardColors"  Grid.Row="1">
        <ListBox.Style>
            <Style TargetType="{x:Type ListBox}">
            <Setter Property="Background" Value="Transparent"/>
            <Setter Property="BorderThickness" Value="0"/>
            <Setter Property="ItemsPanel">
            ....
        </ListBox.Style>
</ListBox>

可以看到列表框没有设置itemsource,可以自己添加:

<ListBox x:Name="PART_StandardColors" ItemsSource="{TemplateBinding StandardColors}"  Grid.Row="1">

编辑AvailableColors的列表框:

 <ListBox x:Name="PART_AvailableColors" ItemsSource="{TemplateBinding AvailableColors}" Grid.Row="1">

现在可以了。

关于WPF 工具包颜色选择器编辑模板现在没有可用的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24923026/

相关文章:

css - 为 MathJax 设置 CSS 样式、颜色

Javascript 颜色渐变均匀 split ,从蓝色到灰色再到红色

c# - XAML 和 IValueConverter - 首先转换为复杂对象,然后绑定(bind)到结果的属性路径

c# - 如何检测是否按下了任何键盘功能键?

xaml - MergedDictionaries Source 中的 ResourceDictionary 导致 VS 2012 Designer 无法加载

c# - WPF 图像不会显示 BitmapSource

c# - 在 C# 中将位图转换为 WriteableBitmap

wpf - 将 RoutedEvent 转换为 WPF 中 MVVM 模式的命令

c# - 当 DataTemplate 子项折叠时如何隐藏 ListView 项目占位符?

java - 根据 ArrayList<HashMap<String, String>> 中的值更改 TextView 的颜色