public override void OnApplyTemplate() { base.OnApplyTemplate(); _backwardButton = Template?.FindName("PART_BackwardButton", this) as RepeatButton; _backwardButton.Click += BackwardButton_Click; _previousButton = Template?.FindName("PART_PreviousButton", this) as RepeatButton; _previousButton.Click += PreviousButton_Click; _nextButton = Template?.FindName("PART_NextButton", this) as RepeatButton; _nextButton.Click += NextButton_Click; _forwardButton = Template?.FindName("PART_ForwardButton", this) as RepeatButton; _forwardButton.Click += ForwardButton_Click; _yearButton = Template?.FindName("PART_YearButton", this) as Button; BindingUtils.BindingProperty(_yearButton, Button.ContentProperty, this, CurrentYearProperty, "D4"); _yearButton.Click += YearButton_Click; _monthButton = Template?.FindName("PART_MonthButton", this) as Button; BindingUtils.BindingProperty(_monthButton, Button.ContentProperty, this, CurrentMonthProperty, new LocalizedMonthStringConverter()); _monthButton.Click += MonthButton_Click; _weekPresenter = Template?.FindName("PART_WeekPresenter", this) as CalendarXWeekPresenter; BindingUtils.BindingProperty(_weekPresenter, CalendarXWeekPresenter.FirstDayOfWeekProperty, this, FirstDayOfWeekProperty); _dayPresenter = Template?.FindName("PART_DayPresenter", this) as CalendarXDayPresenter; BindingUtils.BindingProperty(_dayPresenter, CalendarXDayPresenter.ItemContainerStyleProperty, this, CalendarXItemStyleProperty); _monthPresenter = Template?.FindName("PART_MonthPresenter", this) as CalendarXMonthPresenter; BindingUtils.BindingProperty(_monthPresenter, CalendarXMonthPresenter.ItemContainerStyleProperty, this, CalendarXItemStyleProperty); _yearPresenter = Template?.FindName("PART_YearPresenter", this) as CalendarXYearPresenter; BindingUtils.BindingProperty(_yearPresenter, CalendarXYearPresenter.ItemContainerStyleProperty, this, CalendarXItemStyleProperty); _dayPresenter.Selected += DayPresenter_Selected; _dayPresenter.Unselected += DayPresenter_Unselected; _monthPresenter.Selected += MonthPresenter_Selected; _monthPresenter.Unselected += MonthPresenter_Unselected; _yearPresenter.Selected += YearPresenter_Selected; _yearPresenter.Unselected += YearPresenter_Unselected; _weekPresenter.UpdateWeeks(); var dayDate = SelectedDate ?? DateTime.Now.Date; UpdateDays(dayDate.Year, dayDate.Month); UpdateMonths(dayDate.Year, dayDate.Month); UpdateYears(dayDate.Year, dayDate.Month); }
public CalendarX() { DayPresenter = new CalendarXDayPresenter(this); }