In my case:
I have a TextBlock Binding to a property of type DateTime. I want it to be displayed as the Regional settings of the User says.
Put the following line of code, before any UI is initialized. This worked for me.
FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement),
new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
(And remove all explicit culture parameters)