2015-04-08 2 views
0

У меня есть элемент управления календарем и кнопка для установки фактической даты.C# Calendar - Switching CalendarItems

Использование функции SetToday() Я могу установить SelectedDate свойство, но я не знаю, как установить CalendarItem (вкладка месяца). Следующие два изображения объясняют мою проблему.

img1 - another date clicked
img2 - Set Today button clicked

partial void SetToday_Execute() 
{ 
    var cal = this.FindControl("Calendar1"); 
    cal.ControlAvailable += (object sender, ControlAvailableEventArgs e) => 
     { 
      var c = (System.Windows.Controls.Calendar)e.Control; 
      c.SelectedDate = DateTime.Now;      
     }; 
} 

Заранее спасибо за помощь.

+0

Какой контроль вы используете, чтобы попытаться достичь этого? «Из коробки» datepicker? Если это не так, возможно, стоит сообщить нам, какой из них мы можем выглядеть более полезными. – paulpitchford

+0

Я использую класс календаря - https://msdn.microsoft.com/en-us/library/system.windows.controls.calendar%28v=vs.110%29.aspx – panda098

ответ

0

Проблема решена. Я не читал документацию класса внимательно. Я забыл установить DisplayDate. Функция SetToday() теперь выглядит следующим образом:

partial void SetToday_Execute() 
{ 
    var cal = this.FindControl("Calendar1"); 
    cal.ControlAvailable += (object sender, ControlAvailableEventArgs e) => 
     { 
      var c = (System.Windows.Controls.Calendar)e.Control; 
      c.SelectedDate = DateTime.Now; 
      c.DisplayDate = DateTime.Now; 
     }; 
}