【发布时间】:2014-01-08 15:30:42
【问题描述】:
我将标准 DatePicker 绑定到我的代码隐藏中的属性,如下所示:
XAML:
<DatePicker Text="{Binding Start, Mode=TwoWay}" Width="150" BorderBrush="LightGray" VerticalAlignment="Center" Margin="3"/>
代码:
public DateTime Start
{
get { return _start; }
set
{
_start = value;
RaisePropertyChangedEvent("Start");
}
}
在构造函数中,我将值初始化为 DateTime.Now,即今天是 1 月 8 日。 2014 年(应该在不同语言之间明确)。但是我在丹麦机器上,所以字符串格式的值将是 8/1/2014,而不是美国风格的 1/8/2014。
第一个问题是日期选择器显示格式为美国风格的值,当我打开下拉菜单时,它也显示为 8 月 1 日。
第二个问题更糟。当我选择例如12 月 1 日从下拉列表中显示 12/1/2014,这在美国风格中是正确的,但实际选择的日期时间(在属性上)是 1 月 12 日,与丹麦风格相匹配...
我猜这是因为在转换到/从 DateTime 的本地化字符串表示时出现了一些问题,但为什么日期选择器忽略本地化?我该如何解决?
【问题讨论】:
标签: c# wpf localization datepicker