gpt4 book ai didi

wpf - DateTime 未在 Datagrid、ListView 中以当前区域性格式显示

转载 作者:行者123 更新时间:2023-12-03 21:16:07 24 4
gpt4 key购买 nike

在 WPF 中,我试图在 DataGrid 中绑定(bind)日期属性如果它绑定(bind)到 DateTime,我只能排序属性(property)。

应用程序应以与用户的区域和语言设置相对应的格式显示日期。

问题是当日期是 string属性,它根据区域设置显示,但是当属性绑定(bind)到 DateTime日期格式默认为美国而不是正确的地区。

因此,如果它绑定(bind)到 string属性按列排序不起作用,如果它绑定(bind)到 DateTime属性,它不会转换为正确的区域。

最佳答案

这是因为绑定(bind)系统使用 FrameworkElement.Language 定义的区域性。属性,它不会自动匹配当前的文化(这有点傻 IMO,但就是这样......)。

幸运的是,有一个简单的方法,您只需要覆盖 Language 的元数据。应用程序静态构造函数中的属性,as shown here :

public partial class App : Application
{
static App()
{
FrameworkElement.LanguageProperty.OverrideMetadata(
typeof(FrameworkElement),
new FrameworkPropertyMetadata(
XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
}
}

关于wpf - DateTime 未在 Datagrid、ListView 中以当前区域性格式显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3630967/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com