C# 是否更改包含枚举的WPF组合框的显示文本?

C# 是否更改包含枚举的WPF组合框的显示文本?,c#,wpf,enums,C#,Wpf,Enums,情况: C#使用WPF和.net4.5 我在外部库中定义了一个枚举。假设它被称为SomeEnum,包含“SomeValue1”、“SomeValue2”、“SomeValue3”等项 我有一个组合框,里面填充了如下值: comboBoxValues.ItemsSource = Enum.GetValues(typeof(SomeEnum)); 如预期的那样,组合框显示: 一些价值1 一些价值2 一些价值3 问题: 我能否以某种方式仅更改显示的值,以使“某些”部分丢失。 因此,组合框仅显示以下

情况:

C#使用WPF和.net4.5

我在外部库中定义了一个枚举。假设它被称为SomeEnum,包含“SomeValue1”、“SomeValue2”、“SomeValue3”等项

我有一个组合框,里面填充了如下值:

comboBoxValues.ItemsSource = Enum.GetValues(typeof(SomeEnum));
如预期的那样,组合框显示:

一些价值1

一些价值2

一些价值3

问题:

我能否以某种方式仅更改显示的值,以使“某些”部分丢失。 因此,组合框仅显示以下内容:

价值1

价值2

价值3


但是:“Value1”的SelectedValue仍然应该是“SomeValue1”。

您可以使用LINQ来修剪字符串:

comboBoxValues.ItemsSource = Enum.GetValues(typeof(SomeEnum)).Select(x => x.ToString().TrimStart("Value"));    

但老实说,我建议您制作一个双向转换器,这样您就可以将
SelectedItem
绑定到
SomeEnum SomeProperty{get;set;}
或设置一个类似于的字典,您可以使用LINQ来修剪字符串:

comboBoxValues.ItemsSource = Enum.GetValues(typeof(SomeEnum)).Select(x => x.ToString().TrimStart("Value"));    
但老实说,我建议您制作一个双向转换器,这样您就可以将
SelectedItem
绑定到
someenumsomeproperty{get;set;}
或设置类似的字典