在所有窗口中使用代码隐藏添加DynamicResource

时间:2017-03-06 13:24:09

标签: c# wpf xaml resourcedictionary dynamicresource

我正在开发一个多语言WPF应用程序,我通过ResourceDictionary实现了不同的语言。 程序中的所有字符串都包含对ResourceDictionary键的引用。

这工作得非常好,但仅适用于主窗口。我怎样才能将它应用到任何其他窗口?

更改语言的代码如下所示:

LDFLAGS_RELEASE

主窗口控件示例

ResourceDictionary dict = new ResourceDictionary();           
        dict.Source = new Uri("..\\Resource Dictionary\\Jeziki\\SloLanguage.xaml", UriKind.Relative);
        this.Resources.MergedDictionaries.Add(dict);

1 个答案:

答案 0 :(得分:0)

我通过更改

解决了这个问题
this.Resources.MergedDictionaries.Add(dict);

Application.Current.Resources.MergedDictionaries.Add(dict);

将Dictionary设置为全局(因此每个窗口都可以访问它)