internal protected override CalendarView CreateView(DateTime date) { MonthView view = new MonthView(this.Calendar, date); view.Initialize(this); return(view); }
protected internal override CalendarView CreateView(DateTime date) { if (date > this.Calendar.CurrentCalendar.MaxSupportedDateTime) { date = this.Calendar.CurrentCalendar.AddMonths(this.Calendar.CurrentCalendar.MaxSupportedDateTime, -1); } if (date < this.Calendar.CurrentCalendar.MinSupportedDateTime) { date = this.Calendar.CurrentCalendar.MinSupportedDateTime; } MonthView monthView = new MonthView(this.Calendar, date); monthView.Initialize((CalendarView)this); return((CalendarView)monthView); }
internal void InitializeMultiViewData() { this.InitializeFocusedViewPosition(); if (this.previousViews < 0 || this.nextViews < 0) { return; } this.EnsureChildViews(); this.children.Clear(); MonthView[] previousViewsArray = new MonthView[this.previousViews]; MonthView[] nextViewsArray = new MonthView[this.nextViews]; DateTime startDate = this.EffectiveVisibleDate(); MonthView defaultView = new MonthView(this.Calendar, startDate, this); // populating the next views for (int i = 0; i < this.nextViews; i++) { DateTime calculatedViewDate = this.Calendar.CurrentCalendar.AddMonths(startDate, (i + 1)); nextViewsArray[i] = new MonthView(this.Calendar, calculatedViewDate, this); } // populating the previous views int step = 1; for (int i = this.previousViews - 1; 0 <= i; i--) { DateTime calculatedViewDate = this.Calendar.CurrentCalendar.AddMonths(startDate, -step); previousViewsArray[i] = new MonthView(this.Calendar, calculatedViewDate, this); step += 1; } //Children collection population for (int i = 0; i < this.previousViews; i++) { this.children.Add(previousViewsArray[i]); } defaultView.Initialize(); this.children.Add(defaultView); for (int i = 0; i < this.nextViews; i++) { this.children.Add(nextViewsArray[i]); } }
internal void InitializeMultiViewData() { this.InitializeFocusedViewPosition(); if (this.previousViews < 0 || this.nextViews < 0) { return; } this.EnsureChildViews(); this.Children.Clear(); MonthView[] monthViewArray1 = new MonthView[this.previousViews]; MonthView[] monthViewArray2 = new MonthView[this.nextViews]; DateTime dateTime = this.EffectiveVisibleDate(); MonthView monthView = new MonthView(this.Calendar, dateTime, (CalendarView)this); for (int index = 0; index < this.nextViews; ++index) { DateTime inMonthDate = this.Calendar.CurrentCalendar.AddMonths(dateTime, index + 1); monthViewArray2[index] = new MonthView(this.Calendar, inMonthDate, (CalendarView)this); } int num = 1; for (int index = this.previousViews - 1; 0 <= index; --index) { DateTime inMonthDate = this.Calendar.CurrentCalendar.AddMonths(dateTime, -num); monthViewArray1[index] = new MonthView(this.Calendar, inMonthDate, (CalendarView)this); ++num; } for (int index = 0; index < this.previousViews; ++index) { this.Children.Add((CalendarView)monthViewArray1[index]); } monthView.Initialize(); this.Children.Add((CalendarView)monthView); for (int index = 0; index < this.nextViews; ++index) { this.Children.Add((CalendarView)monthViewArray2[index]); } }