C# wpf组合框所选项目显示不同的文本,然后是下拉列表中的项目

C# wpf组合框所选项目显示不同的文本,然后是下拉列表中的项目,c#,wpf,combobox,C#,Wpf,Combobox,我有一个组合框,其中有一个颜色列表,用户可以从中选择。当用户单击带有颜色名称的颜色列表时,会为每个项目显示颜色的小图片。这部分工作正常。我无法工作的部分是一旦选择了一个项目,例如,如果用户选择红色,组合框将显示“Color[red]”,我只希望它显示红色 XAML 代码隐藏 private List<Color> colors = new List<Color>() { Red, Green, Blue, Cyan, Magenta, Yellow, Orange,

我有一个
组合框
,其中有一个颜色列表,用户可以从中选择。当用户单击带有颜色名称的颜色列表时,会为每个项目显示颜色的小图片。这部分工作正常。我无法工作的部分是一旦选择了一个项目,例如,如果用户选择红色,
组合框将显示“Color[red]”,我只希望它显示红色

XAML


代码隐藏

private List<Color> colors = new List<Color>() {  Red, Green, Blue, Cyan, Magenta, Yellow, Orange, Purple};

mycbox.ItemSource = colors;
private List colors=new List(){红色、绿色、蓝色、青色、洋红、黄色、橙色、紫色};
mycbox.ItemSource=颜色;

如何将ComboBox.SelectedItem设置为“红色”而不是“颜色[红色]”

将组合框的
TextSearch.TextPath
属性设置为“Name”



sorry@mm8应该是颜色而不是颜色。为什么要将矩形的填充和TextBlock的文本绑定到同一名称属性?这似乎没有任何意义。我这样做是为了让每个项目都有颜色的名称,然后在它旁边有一个实际颜色的小正方形。似乎是
System.Drawing.color
,它有一个name属性。你不应该在WPF中使用它,它相当于System.Windows.Media.Color。它的WPF
private List<Color> colors = new List<Color>() {  Red, Green, Blue, Cyan, Magenta, Yellow, Orange, Purple};

mycbox.ItemSource = colors;
<ComboBox x:Name="mycbox" IsEditable="True" 
          TextSearch.TextPath="Name" 
          Background="#FFE5E5E5" HorizontalAlignment="Left" VerticalAlignment="Top" Width="82">