static MonthViewDefinition() { VisibleDaysProperty.OverrideMetadata(typeof(MonthViewDefinition), new PropertyMetadata(42)); TimeSlotLengthProperty.OverrideMetadata( typeof(MonthViewDefinition), new PropertyMetadata(TimeSpan.FromDays(1))); SmallChangeIntervalProperty.OverrideMetadata( typeof(MonthViewDefinition), new PropertyMetadata(DateTimeInterval.FromDays(7))); LargeChangeIntervalProperty.OverrideMetadata( typeof(MonthViewDefinition), new PropertyMetadata(DateTimeInterval.FromMonths(1))); }
static TimelineViewDefinition() { VisibleDaysProperty.OverrideMetadata(typeof(TimelineViewDefinition), new PropertyMetadata(7)); LargeChangeIntervalProperty.OverrideMetadata( typeof(TimelineViewDefinition), new PropertyMetadata(DateTimeInterval.FromDays(7))); SmallChangeIntervalProperty.OverrideMetadata( typeof(TimelineViewDefinition), new PropertyMetadata(DateTimeInterval.FromDays(1))); TimeSlotLengthProperty.OverrideMetadata( typeof(TimelineViewDefinition), new PropertyMetadata(TimeSpan.FromDays(1), OnTimeSlotLengthPropertyChanged)); }
/// <summary> /// Gets the start date for view definition. /// </summary> /// <param name="definition">The definition.</param> /// <param name="selectedDate">The selected date.</param> /// <returns></returns> public DateTime GetStartDateForViewDefinition(ViewDefinitionBase definition, DateTime selectedDate) { if (definition is MonthViewDefinition) { return(this.scheduler.FirstDayOfFirstWeekOfMonthForVisibleDate(selectedDate)); } if (definition is WeekViewDefinition) { return(this.scheduler.FirstDayOfWeekForVisibleDate(selectedDate)); } if (definition is TimelineViewDefinition) { var delta = DateTimeInterval.FromDays((this.scheduler.SelectedTimeSlot.Start - this.visibleRangeStart).Days % definition.VisibleDays); if (this.scheduler.SelectedTimeSlot.Start < this.visibleRangeEnd && this.scheduler.SelectedTimeSlot.Start > this.visibleRangeStart) { return(selectedDate.SubtractInterval(delta)); } } return(selectedDate); }
static WeekViewDefinition() { VisibleDaysProperty.OverrideMetadata(typeof(WeekViewDefinition), new PropertyMetadata(7)); LargeChangeIntervalProperty.OverrideMetadata( typeof(WeekViewDefinition), new PropertyMetadata(DateTimeInterval.FromDays(7))); }