Lets say we want to keep the current en-US culture format but override the way the Decimal is represented (normaly with a dot (.) but here we want a coma instead (,).

System.Threading.Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-US");
var currentCulture = System.Threading.Thread.CurrentThread.CurrentCulture.Name;
var ci = new CultureInfo(currentCulture) { NumberFormat = { NumberDecimalSeparator = "," } };
System.Threading.Thread.CurrentThread.CurrentCulture = ci;
System.Threading.Thread.CurrentThread.CurrentUICulture = ci;
FrameworkElement.LanguageProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));

Enjoy!