我有一个 WPF 应用程序,它使用 3rd 方控件(如http://navigationpane.codeplex.com),它还提供翻译的 UI(特别是德语,这是我的应用程序的默认和唯一语言)。在 Win7 上,一切都以德语显示,在 WinXP 系统(德语 UI)上,第 3 方控件仍然加载英语资源。
我现在已经试过了
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("de-DE");
和这个
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("de-DE");
这(这导致无法加载任何 XAML 文件,之后应用程序几乎损坏):
<UICulture>en-US</UICulture>
还有这个
FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
和这个:
[assembly: NeutralResourcesLanguageAttribute("de")]
现在我几乎没有想法了。有什么进一步的建议吗?
除了UICulture
,它根本不起作用,我正在使用上述所有方法并App.OnStartup
没有达到预期的效果。