【问题标题】:WPF DatePicker US AND UK date format issueWPF DatePicker 美国和英国日期格式问题
【发布时间】: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


【解决方案1】:

@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>

这似乎解决了问题。

谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    • 2010-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多