我已经在 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中搜索关键字StandardColors
或AvailableColors
,这是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/