我刚才惊讶地发现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继承自执行此操作的基类,或者是否有某种方法可以全局设置它?
答案 0 :(得分:1)
您可以使用稍微不同的方法,从ElementHost
派生一次,并在实例化时操纵您的WPF UserControl
实例。例如,您可以使用LocalizingElementHost
事件处理程序创建一个ChildChanged
,该处理程序可以为子项创建基本类中的操作。
答案 1 :(得分:1)
您仍然可以使用与LanguageProperty.OverrideMetadata
相同的方法,只需将其放在程序的开头(Main
方法)。