Пример #1
0
        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);
        }
Пример #2
0
 public CalendarX()
 {
     DayPresenter = new CalendarXDayPresenter(this);
 }