我需要一个Silverlight DatePicker控件,它允许用户只选择一年或选择YearMonth。允许我在xaml中设置这类功能,如下所示:
<sdk:DatePicker my:DatePickerCalendar.IsYear="True" my:DatePickerFormat="yyyy"/>或
<sdk:DatePicker my:DatePickerCalendar.IsMonthYear="True" my:DatePickerFormat="MM/yyyy"/>发布于 2015-07-08 17:34:29
我找到的最简单的解决方案是
private void dp_CalendarOpened(object sender, RoutedEventArgs e)
{
DatePicker dp = (DatePicker)sender;
Popup popup = (Popup)dp.Template.FindName("PART_Popup", dp);
Calendar cal = (Calendar)popup.Child;
cal.DisplayMode = CalendarMode.Year;
cal.DisplayModeChanged += cal_DisplayModeChanged;
}
private void cal_DisplayModeChanged(object sender, CalendarModeChangedEventArgs e)
{
Calendar calendar = (Calendar)sender;
Popup popup = (Popup)calendar.Parent;
if (e.NewMode == CalendarMode.Month)
{
//calendar.DisplayMode = e.OldMode;
calendar.SelectedDate = calendar.DisplayDate.AddDays((calendar.DisplayDate.Day * -1) + 1).AddMonths(1).AddDays(-1);
popup.IsOpen = false;
calendar.DisplayModeChanged -= cal_DisplayModeChanged;
}
}发布于 2014-04-25 16:12:41
您可以尝试此修改后的silverlight日期选择控件仅显示月份或年份。
<sdk:DatePicker Name="datepicker1"
Height="23"
Width="150"
SelectedDateFormat="MonthYear"
CalendarMode="Year" />DatePicker月或年
https://stackoverflow.com/questions/23297540
复制相似问题