如何在UWP中将Windows.UI.Xaml.Controls.DatePicker格式化为dd-MM-yyyy
本文关键字:DatePicker Controls 格式化 dd-MM-yyyy Xaml UI UWP 中将 Windows | 更新日期: 2023-09-27 18:27:05
我目前有一个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吗?
EDIT:日期来自转换器,格式正确,但实际的可视化XAML对象是MM-dd-yyyy。
您尝试过吗:返回日期。ToString("dd-MM-yyyy");而不是仅返回日期;?
编辑:您希望它反转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>