如何更新本地化开关上的窗口?

时间:2010-08-13 11:21:19

标签: wpf localization

当我切换语言(本地化)时,它只影响新创建的窗口。如何更新当前打开的窗口的本地化文本?我的意思是,聪明的方式,所以让我们说如果我有文本框和按钮,我已经输入了一些数据,本地化开关不应该影响它:

[5 ___]取消

- >切换到抛光(例如)

[5 ___] anuluj

解决

感谢Wouter Janssens指出的文章 - Xelos(再次感谢你)我能够解决这个问题。如果有人在几年后阅读:-)那些是必不可少的步骤(首先阅读上面提到的文章):

  1. 添加到App.xaml ObjectDataProvider标记
  2. 在App.xaml.cs中添加最小的提供程序包装器 - 来自xaml和资源getter方法的ObjectDataProvider的getter
  3. 在xamls中,请参阅所有本地化的文本,而不是通过

    "{x:Static loc:Resources.MyStringKey}" 
    

    (其中loc是项目的Properties命名空间)但

    "{Binding Path=MyStringKey, Source={StaticResource CultureProvider}}" 
    

    (其中CultureProvider是在步骤1中创建的ObjectDataProvider对象的名称)

  4. 在本地化开关上刷新提供程序。

2 个答案:

答案 0 :(得分:1)

没有简单的方法可以执行此操作,但我建议您查看此内容:http://www.codeproject.com/KB/WPF/WPFLocalize.aspx

答案 1 :(得分:1)

如何将依赖项属性绑定到按钮文本。所以当属性值改变时,绑定也会更新