首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

silverlight Calendar 抉择月份的时候能不能不进选择日期的

2012-09-24 
silverlight Calendar 选择月份的时候能不能不进选择日期的这个点击月份的时候就自动进去选择几号的了能不

silverlight Calendar 选择月份的时候能不能不进选择日期的


这个点击月份的时候就自动进去选择几号的了
能不能到选择月份就终止了?

[解决办法]
楼主可以修改Silverlight Toolkit代码实现,创建一个新的依赖属性实现。
可以参考以下代码可以实现Calendar只选月份:

C# code
public CalendarMode CalendarMode{  get { return (CalendarMode)GetValue(CalendarModeProperty); }  set { SetValue(CalendarModeProperty, value); }}public static readonly DependencyProperty CalendarModeProperty =  DependencyProperty.Register(  "CalendarMode",  typeof(CalendarMode),  typeof(DatePicker),  new PropertyMetadata(OnCalendarModeChanged));    private static void OnCalendarModeChanged(DependencyObject d,                                           DependencyPropertyChangedEventArgs e){  DatePicker dp = d as DatePicker;  // get the new value into a calendar mode variable.  CalendarMode cm = (CalendarMode)e.NewValue;  if (dp != null)  {    dp._calendar.DisplayMode = cm;  }}private void InitializeCalendar(){  _calendar = new Calendar();  _calendar.DayButtonMouseUp += new MouseButtonEventHandler(Calendar_DayButtonMouseUp);  _calendar.DisplayDateChanged += new EventHandler<CalendarDateChangedEventArgs>                                      (Calendar_DisplayDateChanged);  _calendar.SelectedDatesChanged += new EventHandler<SelectionChangedEventArgs>                                        (Calendar_SelectedDatesChanged);  _calendar.MouseLeftButtonDown += new MouseButtonEventHandler                                      (Calendar_MouseLeftButtonDown);  _calendar.KeyDown += new KeyEventHandler(Calendar_KeyDown);  _calendar.SelectionMode = CalendarSelectionMode.SingleDate;  _calendar.SizeChanged += new SizeChangedEventHandler(Calendar_SizeChanged);  _calendar.IsTabStop = true;  #region Juan Mejia - Modification  _calendar.DisplayMode = this.CalendarMode;  _calendar.DisplayModeChanged += new EventHandler<CalendarModeChangedEventArgs>                                      (Calendar_DisplayModeChanged);  #endregion}private void Calendar_DisplayModeChanged(object sender, CalendarModeChangedEventArgs e){  if (this.CalendarMode == CalendarMode.Year)  {    if (_calendar.DisplayMode == CalendarMode.Month)    {      _calendar.DisplayMode = CalendarMode.Year;      if (_popUp.IsOpen)      {        this.SelectedDate = _calendar.SelectedMonth;        this._popUp.IsOpen = false;      }    }  }}<sdk:DatePicker Name="datepicker1"                 Height="23"                 Width="150"                 SelectedDateFormat="MonthYear"                 CalendarMode="Year" /> 

热点排行