我在这里有一个问题要问。我有一个运行时在UI中显示的枚举。它有三个值。如何将枚举转换为WPF中的本地化枚举结构
enum ExpiryOptions
{
Never,
After,
On
}
现在从userControl加载它的节目时Never,After,on。
<ComboBox x:Name="accessCombo" Margin="5" Height="25" Width="80"
ItemsSource="{Binding Source={StaticResource ResourceKey=expiryEnum},
Converter={StaticResource enumtoLocalizeConverter}}"/>
英文很好,但问题是,如果软件用作本地化设置,会出现相同的字符串。没有任何本地化的字符串。
在转换器我有一个写一个这样的代码
public object Convert(object value, Type targetType,
object parameter, CultureInfo culture)
{
ExpiryOption[] myEnum = value; // This myEnum is having all the enum options.
// Now what shall I write here
//if I write a code like this
if(myEnum[0] == Properties.Resources.Never)
return Properties.Resources.Never;
else if(myEnum[1] == Properties.Resources.After)
return Properties.Resources.After;
else if(myEnum[2] == Properties.Resources.On)
return Properties.Resources.On;
}
然后在UI的枚举与N个E VëR(垂直地)在英语语言设置填充。显然,第一个字符串匹配并填充从不其他两个选项都没有丢失。任何建议和帮助是非常必要的。
我的东西,在一本字典的枚举建议。键是枚举,值是我想要显示的字符串。 – Paparazzi