2010-10-22 61 views
2

我想給用戶提供選擇月份\年份的能力,我打算只使用2個列表框,但我說Silverlight日曆有一個年份模式,顯示一年的月份(而不是所有月份的月份天)。在年模式下點擊Silverlight日曆中的月份,獲取所選月份並保持年模式?

但是,當您點擊一個月時,它會切換到顯示所選月份(月模式)中的日期。

我試着在SelectedDatesChanged事件中切換回年模式。但是,只有在我選擇了某個月的特定日期(此時它切換回年份模式)之後才意識到發生了火災。

所以我的問題: - 我可以讓日曆保持在年模式嗎? - 所選月份是否有事件發生? - 我可以獲得月份選擇嗎?

謝謝

回答

2

有一個DisplayModeChanged事件可以使用。我的情況我需要選定月份的第一個日期和最後一個日期......下面的代碼做我需要的。

private void CalendarDisplayModeChanged(object sender, CalendarModeChangedEventArgs e) 
{  
    //control might be null at start up so check for null 
    //probably could hook up event in Loaded or constructor instead of xaml to prevent this 
    if (calendarInYearMode != null) { 
      //reset back to year mode 
     calendarInYearMode.DisplayMode = CalendarMode.Year; 
     if (calendarInYearMode.DisplayDate != DateTime.MinValue) { 
      var beginningOfMonthDate = calendarInYearMode.DisplayDate; 
      var endOfMonthDate = calendarInYearMode.DisplayDate.AddMonths(1).AddDays(-1);  
     } 
    } 
} 
相關問題