I have a WPF application that uses 3rd party controls (like http://navigationpane.codeplex.com) which also provide translated UI (German in particular, which is the default and only language of my app). On Win7, everything is displayed in German as it should be, on WinXP systems (German UI), 3rd party controls still load the English resources.
I have now tried this
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("de-DE");
and this
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("de-DE");
and this (which caused that none of the XAML files could be loaded and the application was pretty much corrupt after that):
<UICulture>en-US</UICulture>
and also this
FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
and this:
[assembly: NeutralResourcesLanguageAttribute("de")]
Now I am pretty much out of ideas. Any further suggestions?
Except for UICulture
, which does not work at all, I am using all of the methods above combined in App.OnStartup
without the desired effect.