我在這裏有一個問題要問。我有一個運行時在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