【发布时间】:2014-05-30 20:48:19
【问题描述】:
我在数据网格中有一个 DatePicker,用户可以在其中选择这样的日期
“07/04/2014”在 dd/MM/yyyy 中,但是,当保存到后端时,它会像 2014-07-04 00:00:00.000 一样出现在数据库中。 (所以在美国)
我相信这导致了我的问题,当用户选择超过 12 天的日期时,DatePicker 变得无效并且用户将无法保存。
因此,例如,如果用户选择 13/04/2014,则日期选择器将失效,因为正确认为格式为 MM/dd/yyyy 格式(我相信)
我该如何解决这个问题?我应该将模型中的 DateTime 属性转换为 UK 格式,还是需要将 datepicker 的格式设置为不同的格式?
这里是 XAML
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DatePicker Text="{Binding From, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<DatePicker SelectedDate="{x:Static System:DateTime.Now}"></DatePicker>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
以及模型中的属性
public System.DateTime From
{
get
{
return m_From;
}
set
{
m_From = value;
PropertyChanged(this, new PropertyChangedEventArgs(From));
}
}
任何帮助都会很好。
谢谢
【问题讨论】:
-
听起来您在 WPF 应用程序和后端之间存在冲突的文化。
-
我相信是的,我刚试过,
但没有帮助,有没有办法在 XAML 或模型中解决这个问题? -
实际上,您是否将日期作为
string传递给后端(可能通过 JSON)? -
不,这是一个 MVVM 应用程序,所以我将属性绑定到日期选择器
-
如前所述,您需要检查客户端、服务器端和 SQL 数据库本身的区域设置。
标签: c# wpf xaml date datepicker