设置CurrentCulture的最佳方法,使其适用于所有WPF组件

时间:2011-04-28 17:57:39

标签: wpf binding localization

我刚才惊讶地发现WPF doesn't use the CurrentCulture for bindings, instead defaulting to en-US

在纯WPF应用程序中,可以通过setting the language globally once in the App class将其修复到一个位置。

但是我有一个WinForms应用程序正在逐步迁移到WPF,并包含几个WPF UserControls。确保CurrentCulture用于所有UserControls的最佳/最简单方法是什么?我是否真的必须让我的所有UserControl继承自执行此操作的基类,或者是否有某种方法可以全局设置它?

2 个答案:

答案 0 :(得分:1)

您可以使用稍微不同的方法,从ElementHost派生一次,并在实例化时操纵您的WPF UserControl实例。例如,您可以使用LocalizingElementHost事件处理程序创建一个ChildChanged,该处理程序可以为子项创建基本类中的操作。

答案 1 :(得分:1)

您仍然可以使用与LanguageProperty.OverrideMetadata相同的方法,只需将其放在程序的开头(Main方法)。