Есть ли способ заставить Календарь DatePicker использовать только Decade DisplayMode, и когда год нажимается на Календарь, введите значение года в текстовое поле DatePicker?
Это то, что у меня есть:
XAML:
<DatePicker x:Name="Dtp_Date" HorizontalAlignment="Left" Margin="117,221,0,0" VerticalAlignment="Top" CalendarOpened="Dtp_Datum_CalendarOpened">
<DatePicker.Resources>
<Style TargetType="DatePickerTextBox">
<Setter Property="Text" Value="Choose year..."/>
</Style>
</DatePicker.Resources>
</DatePicker>
Код:
private void Dtp_Date_CalendarOpened(object sender, RoutedEventArgs e)
{
//Change drop-down of Calendar to Decade
DatePicker datepicker = (DatePicker)sender;
Popup popup = (Popup)datepicker.Template.FindName("PART_Popup", datepicker);
if (popup != null)
{
Calendar cal = (Calendar)popup.Child;
if (cal != null) cal.DisplayMode = CalendarMode.Decade;
}
}
Это успешно открывает календарь DatePicker с DisplayMode= CalendarMode.Decade. Но как только я нажимаю на Календарь, он меняет DisplayMode на Месяц (и на Дни другим щелчком).
Вместо этого я хотел бы, чтобы Календарь был закрыт, и введите значение года в текстовое поле DatePicker's, больше ничего. Это возможно?