use*_*225 4 .net c# wpf enums ivalueconverter
我有一个具有类似值的枚举
HomeRun,StolenBase,FirstBase等
我想在组合框中显示这些值,在大写字母之前插入一个空格,因此它将显示为"Home Run","Stolen Base"等.
我已经有了可以为我做格式化的代码,并且我已将该代码添加到IValueConverter实现的'Convert'方法中.
我的问题是,我在哪里需要使用这个转换器(在xaml中),这样不仅下拉列表,而且显示的值,将具有这种格式?我是否还需要实现ConvertBack?
我很清楚为枚举设置'描述'并使用流行的EnumToDescriptionConverter,但我宁愿远离它.
我不确定是否有更好的方法,但你可以使用ItemTemplate实现你想要的
<ComboBox.ItemTemplate>
<DataTemplate>
<ContentPresenter
Content="{Binding Converter={StaticResource baseballEnumConverter}}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
Run Code Online (Sandbox Code Playgroud)
这将在ComboBox中显示转换后的值.
ComboBox的SelectedValue仍然是Enum值.您不需要实现ConvertBack.
| 归档时间: |
|
| 查看次数: |
3444 次 |
| 最近记录: |