下面是我用来在我的应用程序中设置日期格式的代码。但是覆盖语言属性不会更新日期格式,而是仍然显示美国日期格式(" MM / dd / yyyy&# 34;)在Listbox中有绑定到它的日期对象列表。我的WPF应用程序正在使用4.5.2 .Net Framework。
var newCulture = CultureInfo.CurrentCulture.Clone();
// Set desired date format here
newCulture.DateTimeFormat.ShortDatePattern = "dd/MM/yyyy";
CultureInfo.DefaultThreadCurrentCulture = newCulture;
CultureInfo.DefaultThreadCurrentUICulture = newCulture;
Thread.CurrentThread.CurrentCulture = newCulture;
Thread.CurrentThread.CurrentUICulture = newCulture;
FrameworkElement.LanguageProperty.OverrideMetadata(
typeof(FrameworkElement),
new FrameworkPropertyMetadata(
System.Windows.Markup.XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));