The work around...
FrameworkElement.LanguageProperty.OverrideMetadata(
typeof(FrameworkElement),
new FrameworkPropertyMetadata(
XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
...used to work till now (mentioned here: http://stackoverflow.com/questions/520115/stringfomat-localization-problem/520334#520334).
Instead till I ported my application from 3.5SP1 to 4.0, it was working. But now in 4.0 it stopped working again. Anybody experiencing this?
EDIT: It is now not even working in 3.5SP1. I think this has something to do with the installation of 4.0 as previously this was working.
It is not working by either adding the workaround or removing it. I even tried adding...
CultureInfo.CurrentCulture.ClearCachedData();
this.Language = XmlLanguage.GetLanguage( CultureInfo.CurrentCulture.IetfLanguageTag);
to Window
constructor. This also didn't worked.