Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何显示主色列表并非全部_C#_Wpf_Colors_Enumeration - Fatal编程技术网

C# 如何显示主色列表并非全部

C# 如何显示主色列表并非全部,c#,wpf,colors,enumeration,C#,Wpf,Colors,Enumeration,我想给用户选择前景颜色的机会。所以我用 foreach (PropertyInfo info in typeof(Colors).GetProperties()) cmbStrokeColour.Items.Add(info.Name); 但这有两个问题,因为它有太多的项目: 填充时间太长 这让用户感到困惑 有没有办法只列出主要颜色而不是全部颜色。 所以现在的问题是定义主颜色。我得说这是这个列表的一个子集。不仅是红、绿、蓝,而且不是上面列表中的141项 感谢您的帮助您可以使用工具

我想给用户选择前景颜色的机会。所以我用

 foreach (PropertyInfo info in typeof(Colors).GetProperties())
      cmbStrokeColour.Items.Add(info.Name);
但这有两个问题,因为它有太多的项目:

填充时间太长 这让用户感到困惑 有没有办法只列出主要颜色而不是全部颜色。 所以现在的问题是定义主颜色。我得说这是这个列表的一个子集。不仅是红、绿、蓝,而且不是上面列表中的141项


感谢您的帮助

您可以使用工具箱中的控件解决所有问题

它允许您使用带有颜色选项的组合框,用户可以选择:

甚至可以使用调色板:

您可以通过引用视图中的名称空间来使用它:

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();
}

它甚至允许您选择用户可以使用的颜色、如何对其进行分类等等。

您可以使用工具箱中的控件解决所有问题

它允许您使用带有颜色选项的组合框,用户可以选择:

甚至可以使用调色板:

您可以通过引用视图中的名称空间来使用它:

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();
}

它甚至可以让你选择用户可以使用的颜色,如何分类等等。

正如你已经提到的,你所说的主色是一个问题。请在请求编程解决方案之前指定此选项。只有当你澄清了这一点,你才能添加一个基于Linqs Where语句的实现。主颜色对你意味着什么,你会如何分类/识别它们?另外,你不能使用Linq的Take扩展吗?你是指原色和副色,如红色、蓝色、绿色、黄色、洋红、青色吗?黑白的怎么样?甚至是灰色?这就是问题所在。在WinForm中,我回忆起不同的颜色集:系统颜色、网页颜色等。。。我认为这里也有类似的东西。正如你已经提到的,你所说的主色是什么意思是一个问题。请在请求编程解决方案之前指定此选项。只有当你澄清了这一点,你才能添加一个基于Linqs Where语句的实现。主颜色对你意味着什么,你会如何分类/识别它们?另外,你不能使用Linq的Take扩展吗?你是指原色和副色,如红色、蓝色、绿色、黄色、洋红、青色吗?黑白的怎么样?甚至是灰色?这就是问题所在。在WinForm中,我回忆起不同的颜色集:系统颜色、网页颜色等。。。我认为这里也有类似的东西。很好,这是一个很好的解决方案,也很容易实现。只是为了知识。是否只有一个元素列表?没有我在上一篇评论中提到的其他子集?据我所知,默认情况下,WPF中不存在或不存在区分web颜色、桌面颜色等枚举的方法。很好,这是一个很好的解决方案,也很容易实现。只是为了知识。是否只有一个元素列表?没有我在之前的评论中所说的其他子集?据我所知,默认情况下,WPF中不存在或不存在区分web颜色、桌面颜色等枚举的方法。