DateTime格式在用作DataGrid ItemSource时发生更改
本文关键字:ItemSource DataGrid 格式 DateTime | 更新日期: 2023-09-27 18:24:02
我有一个类,它有两个属性,一个字符串和DateTime。DateTime属性在构造函数中分配了一个值:
this._lastCheckIn = DateTime.Parse(lastCheckIn.ToString("dd/MM/yyyy HH:mm"));
其中lastCheckIn变量被传递给构造函数。
我可以在运行时看到,对象是用我在这里指定的格式用DateTime创建的,但当它显示在DataGrid上时,格式会恢复为US。
以前,我的对象中有一个字符串,而不是DateTime,它正确地显示了格式,但当我在数据网格中按升序或降序排序时,却没有正确排序。2015年1月25日将高于2015年2月24日。
不太确定我在哪里出了问题,任何帮助都将不胜感激!
您可以在列绑定中选择字符串格式
<DataGrid>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding MyDate, StringFormat='{0:dd.MM.yy '}}" />
</DataGrid.Columns>
</DataGrid>
日期使用运行应用程序的系统区域性显示。您可以更改数据网格本身的日期-时间格式,也可以在启动时将其应用于整个应用程序。
var culture = Thread.CurrentThread.CurrentCulture;
culture.DateTimeFormat.ShortDatePattern = "dd/MM/yyyy HH:mm";
var uiCulture = Thread.CurrentThread.CurrentUICulture;
uiCulture.DateTimeFormat.ShortDatePattern = "dd/MM/yyyy HH:mm";