如何在 UWP 中将 Windows.UI.Xaml.Controls.DatePicker 格式化为 dd-MM-yyyy?
How to format Windows.UI.Xaml.Controls.DatePicker to dd-MM-yyyy in UWP?
我目前有一个 Windows.UI.Xaml.Controls.DatePicker 默认为美国日期表示法 MM-dd-yyyy。我想将其更改为 dd-MM-yyyy,但我找不到如何使用这个特定的 DatePicker 来完成它。我在 SO 上看到过使用 DatePicker 的问题和答案,但不幸的是它不是同一个 DatePicker。
我的xaml:
<DatePicker Date="{Binding someDate, Converter="{StaticResource DateTimeToDateConverter}", Mode=TwoWay}"/>
转换器:
public override object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo language)
{
DateTime date = (DateTime)value;
return date;
}
我已经尝试将语言参数添加到 DatePicker,但它根本不受影响...我还将系统设置语言从 en-US 更改为 nl-NL,这也没有用。有谁知道我应该如何将 DatePicker 格式设置为 dd-MM-yyyy?
编辑:转换器的日期格式正确,但实际的视觉 XAML 对象是 MM-dd-yyyy。
您是否尝试过:return date.ToString("dd-MM-yyyy); 而不是仅 return 日期;?
编辑:您希望它反转 DatePicker 的日期和月份列。为此,您必须修改控件的模板。
右键单击您的 DatePicker,编辑模板,编辑副本。然后只需反转生成的模板中的 DayTextBlock 和 MonthTextBlock。
使用此代码设置所需的日期时间格式。
<Style TargetType="{x:Type DatePickerTextBox}">
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate>
<TextBox x:Name="PART_TextBox"
Text="{Binding Path=SelectedDate, StringFormat='dd MMM yyyy',
RelativeSource={RelativeSource AncestorType={x:Type DatePicker}}}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
我目前有一个 Windows.UI.Xaml.Controls.DatePicker 默认为美国日期表示法 MM-dd-yyyy。我想将其更改为 dd-MM-yyyy,但我找不到如何使用这个特定的 DatePicker 来完成它。我在 SO 上看到过使用 DatePicker 的问题和答案,但不幸的是它不是同一个 DatePicker。
我的xaml:
<DatePicker Date="{Binding someDate, Converter="{StaticResource DateTimeToDateConverter}", Mode=TwoWay}"/>
转换器:
public override object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo language)
{
DateTime date = (DateTime)value;
return date;
}
我已经尝试将语言参数添加到 DatePicker,但它根本不受影响...我还将系统设置语言从 en-US 更改为 nl-NL,这也没有用。有谁知道我应该如何将 DatePicker 格式设置为 dd-MM-yyyy?
编辑:转换器的日期格式正确,但实际的视觉 XAML 对象是 MM-dd-yyyy。
您是否尝试过:return date.ToString("dd-MM-yyyy); 而不是仅 return 日期;?
编辑:您希望它反转 DatePicker 的日期和月份列。为此,您必须修改控件的模板。 右键单击您的 DatePicker,编辑模板,编辑副本。然后只需反转生成的模板中的 DayTextBlock 和 MonthTextBlock。
使用此代码设置所需的日期时间格式。
<Style TargetType="{x:Type DatePickerTextBox}">
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate>
<TextBox x:Name="PART_TextBox"
Text="{Binding Path=SelectedDate, StringFormat='dd MMM yyyy',
RelativeSource={RelativeSource AncestorType={x:Type DatePicker}}}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>