Вы можете сделать это, изменив шаблон выбора даты, чтобы изменить текстовое поле. Пожалуйста, смотрите пример ниже:
<DatePicker SelectedDate="{x:Static sys:DateTime.Now}">
<DatePicker.Resources>
<Style TargetType="DatePickerTextBox">
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate>
<TextBox x:Name="PART_TextBox"
Text="{Binding Path=SelectedDate, StringFormat={}{0:yyyy.MM.dd},
RelativeSource={RelativeSource AncestorType={x:Type DatePicker}}}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</DatePicker.Resources>
</DatePicker>
Я изменил SelectedDate="{x:Static sys:DateTime.Now}"
с x:Reference
на x:Static
, чтобы он работал при тестировании.
Результат:
Кстати, если вы хотите повторно использовать этот код для нескольких сборщиков дат, вы можете просто скопировать XAML для тегов <Style></Style>
(и все внутри) и поместить его в свой файл App.xaml в <Application.Resources>
и стиле / формат будет применяться ко всем средствам выбора даты.
Я нашел вышеуказанный код здесь .