WPF DatePicker美国和英国日期格式问题
本文关键字:日期 格式 问题 英国 DatePicker 美国 WPF | 更新日期: 2023-09-27 17:58:28
我在数据网格中有一个DatePicker,用户可以在其中选择类似的日期
"07/04/2014",以dd/MM/yyyy为单位,但是,当保存到后端时,它会像2014-07-04 00:00:00.000一样出现在数据库中。(美国也是如此)
我认为这导致了我的问题,当用户选择的日期超过第12天时,DatePicker将无效,用户将无法保存。
因此,例如,如果用户选择2014年4月13日,则日期选择器将失效,因为正确地认为格式为MM/dd/yyyy格式(我相信)
我该如何解决这个问题?我是将模型中的DateTime属性转换为UK格式,还是需要将日期选择器的格式设置为其他格式?
这是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));
}
}
任何帮助都是好的。
感谢
@GerogeHowarth在这里帮助了我,
我意识到CellTemplate
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DatePicker Text="{Binding From, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"/>
</DataTemplate>
正在将字符串传回模型,我本应将日期传回
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DatePicker SelectedDate="{Binding From, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"/>
</DataTemplate>
这似乎解决了问题。
感谢