我有一个有两个属性的类,一个字符串和一个DateTime。 DateTime属性在构造函数中分配了一个值:
this._lastCheckIn = DateTime.Parse(lastCheckIn.ToString("dd/MM/yyyy HH:mm"));
将lastCheckIn变量传递给构造函数。
我可以在运行时看到该对象是使用我在此处指定的格式使用DateTime创建的,但是当它在DataGrid上显示时,格式将恢复为US。
以前我的对象中有一个字符串而不是DateTime,它显示格式正确但在数据网格中按升序或降序排序时没有正确排序。 2015年1月25日将显示高于2015年2月24日。
不太确定我在哪里出错了,任何帮助都会非常感激!
答案 0 :(得分:2)
您可以在列绑定中选择字符串格式
<DataGrid>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding MyDate, StringFormat=\{0:dd.MM.yy \}}" />
</DataGrid.Columns>
</DataGrid>
答案 1 :(得分:0)
使用运行应用程序的系统文化显示日期。您可以更改数据网格本身的日期时间格式,也可以在启动时将其应用于整个应用程序。
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";