public partial class App : Application
{
public App()
{
switch (Thread.CurrentThread.CurrentCulture.ToString())
{
case "de-DE":
var German = new Uri("..\\GlobalString\\Dictionary_de-DE.xaml", UriKind.RelativeOrAbsolute);
Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() { Source = German });
break;
case "it-IT":
var Italy = new Uri("..\\GlobalString\\Dictionary_it-IT.xaml", UriKind.RelativeOrAbsolute);
Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() { Source = Italy });
break;
case "es-ES":
var Spanish = new Uri("..\\GlobalString\\Dictionary_es-ES.xaml", UriKind.RelativeOrAbsolute);
Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() { Source = Spanish });
break;
case "fr-FR":
var France = new Uri("..\\GlobalString\\Dictionary_fr-FR.xaml", UriKind.RelativeOrAbsolute);
Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() { Source = France });
break;
default:
var English = new Uri("..\\GlobalString\\Dictionary_de-DE.xaml", UriKind.RelativeOrAbsolute);
Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary() { Source = English });
break;
}
}
}
首先,我合併了所有的字典,然後我試圖動態地得到解釋像below.But它顯示錯誤(「MyString的」資源未找到)的值。問題合併的ResourceDictionary在WPF
private void Window_Loaded(object sender, RoutedEventArgs e)
{
string StringFromDictionary= Application.Current.FindResource("MyString");
}
我想就像你說的雖然它不是工作。如果我合併字典中Window_Loaded事件意味着,它將工作well.If我按照這個步驟來,我需要合併字典中的所有窗口,在這裏我需要從資源字典中獲取字符串值。 –