我想让用户有机会为前景选择颜色。所以我用
填充了一个组合框 foreach (PropertyInfo info in typeof(Colors).GetProperties())
cmbStrokeColour.Items.Add(info.Name);
但是它有2个问题,因为它有太多的项目:
有没有办法只列出主要颜色,而不是全部。 所以现在问题是定义主要颜色。我说它是该列表的一个子集。不仅是RED GREEN BLUE,还有上面列表中的141项。
感谢您的帮助
答案 0 :(得分:4)
您可以使用Color Picker工具包中的WPF Toolkit Extended控件来解决所有问题。
它允许您使用具有用户可以选择的颜色选择的组合框:
甚至使用颜色苍白:
您可以通过在视图中引用命名空间来使用它:
xmlns:toolkit="http://schemas.xceed.com/wpf/xaml/toolkit"
并将其用作标准控件:
<toolkit:ColorPicker Name="ClrPcker_Background" SelectedColorChanged="ClrPcker_Background_SelectedColorChanged"/>
在您的代码中:
private void ClrPcker_Background_SelectedColorChanged(object sender, RoutedPropertyChangedEventArgs<Color> e)
{
TextBox.Text = "#" + ClrPcker_Background.SelectedColor.R.ToString() + ClrPcker_Background.SelectedColor.G.ToString() + ClrPcker_Background.SelectedColor.B.ToString();
}
它可以让您选择用户可以使用的颜色,如何对其进行排序等。