private void HandleSelectedDatesChanged() { ZDatePicker datePicker = this; if (datePicker.PART_Calendar == null || datePicker.PART_Calendar_Second == null) { return; } datePicker.PART_Calendar.SelectedDates.Clear(); datePicker.PART_Calendar_Second.SelectedDates.Clear(); ObservableCollection <DateTime> dt1 = new ObservableCollection <DateTime>(); ObservableCollection <DateTime> dt2 = new ObservableCollection <DateTime>(); foreach (DateTime date in datePicker.SelectedDates) { //选中的日期段可能会跨越好几个月,因此先找出属于第一个日历的日期,然后剩余的日期都显示在第二个日历上面 if (DateTimeHelper.MonthIsEqual(date, this.PART_Calendar.DisplayDate)) { dt1.Add(date); } else { dt2.Add(date); } } datePicker.PART_Calendar.SelectedDates = dt1; datePicker.PART_Calendar_Second.SelectedDates = dt2; }
private static object CoerceSelectedDateEnd(DependencyObject d, object value) { ZDatePicker datePicker = d as ZDatePicker; DateTime? dateTime = (DateTime?)value; if (datePicker.PART_Calendar != null) { datePicker.PART_Calendar.SelectedDate = dateTime; } datePicker.SetSelectedDates(datePicker.SelectedDateStart, datePicker.SelectedDateEnd); return(dateTime); }
private static object SelectedDateCoerceValueCallback(DependencyObject d, object value) { ZDatePicker datePicker = d as ZDatePicker; DateTime?dateTime = (DateTime?)value; if (datePicker.PART_Calendar != null) { datePicker.PART_Calendar.SelectedDate = dateTime; } return(dateTime); }
private static void SelectedDateChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e) { ZDatePicker datePicker = d as ZDatePicker; foreach (DateTime date in datePicker.SelectedDates) { if (date.Year == datePicker.PART_Calendar.DisplayDate.Year && date.Month == datePicker.PART_Calendar.DisplayDate.Month) { datePicker.PART_Calendar.SelectedDates.Add(date); } else { datePicker.PART_Calendar_Second.SelectedDates.Add(date); } } }
private static void SelectedDateCallback(DependencyObject d, DependencyPropertyChangedEventArgs e) { ZDatePicker datePicker = d as ZDatePicker; DateTime? dateTime = (DateTime?)e.NewValue; if (dateTime.HasValue) { DateTime dt = dateTime.Value; if (datePicker.SelectedTime == null) { datePicker.SelectedTime = dt; } datePicker.SetSingleDateToTextBox(dt); } else { //TODO //显示水印 } }
/// <summary> /// 设置控件的类型 /// </summary> /// <param name="datePicker"></param> /// <param name="type"></param> private void SetSelectionMode(ZDatePicker datePicker, EnumDatePickerType type) { switch (type) { case EnumDatePickerType.SingleDate: if (datePicker.PART_Calendar != null) { datePicker.PART_Calendar.SelectionMode = CalendarSelectionMode.SingleDate; } break; case EnumDatePickerType.SingleDateRange: if (datePicker.PART_Calendar != null) { datePicker.PART_Calendar.SelectionMode = CalendarSelectionMode.SingleRange; } if (datePicker.PART_Calendar_Second != null) { datePicker.PART_Calendar_Second.SelectionMode = CalendarSelectionMode.SingleRange; } break; case EnumDatePickerType.Year: break; case EnumDatePickerType.Month: break; case EnumDatePickerType.DateTime: break; case EnumDatePickerType.DateTimeRange: break; default: break; } }
void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { switch (connectionId) { case 1: this.timePicker = ((ZdfFlatUI.TimePicker)(target)); return; case 2: this.btnGetDate = ((System.Windows.Controls.Button)(target)); #line 80 "..\..\..\UITest\UCTDateControl.xaml" this.btnGetDate.Click += new System.Windows.RoutedEventHandler(this.btnGetDate_Click); #line default #line hidden return; case 3: this.btnSetDate = ((System.Windows.Controls.Button)(target)); #line 82 "..\..\..\UITest\UCTDateControl.xaml" this.btnSetDate.Click += new System.Windows.RoutedEventHandler(this.btnSetDate_Click); #line default #line hidden return; case 4: this.timePicker1 = ((ZdfFlatUI.TimePicker)(target)); return; case 5: this.dateTimePicker = ((ZdfFlatUI.DateTimePicker)(target)); return; case 6: this.btnGetDateTimePicker = ((System.Windows.Controls.Button)(target)); #line 93 "..\..\..\UITest\UCTDateControl.xaml" this.btnGetDateTimePicker.Click += new System.Windows.RoutedEventHandler(this.btnGetDateTimePicker_Click); #line default #line hidden return; case 7: this.btnSetDateTimePicker = ((System.Windows.Controls.Button)(target)); #line 95 "..\..\..\UITest\UCTDateControl.xaml" this.btnSetDateTimePicker.Click += new System.Windows.RoutedEventHandler(this.btnSetDateTimePicker_Click); #line default #line hidden return; case 8: this.tgTheme = ((ZdfFlatUI.FlatToggleButton)(target)); #line 104 "..\..\..\UITest\UCTDateControl.xaml" this.tgTheme.Checked += new System.Windows.RoutedEventHandler(this.FlatToggleButton_Checked); #line default #line hidden #line 105 "..\..\..\UITest\UCTDateControl.xaml" this.tgTheme.Unchecked += new System.Windows.RoutedEventHandler(this.FlatToggleButton_Checked); #line default #line hidden return; case 9: #line 109 "..\..\..\UITest\UCTDateControl.xaml" ((ZdfFlatUI.ZCalendar)(target)).SelectedDateChanged += new System.Windows.RoutedPropertyChangedEventHandler <System.Nullable <System.DateTime> >(this.ZCalendar_SelectedDateChanged); #line default #line hidden return; case 10: this.dateControl1 = ((ZdfFlatUI.ZDatePicker)(target)); return; case 11: this.dateControl5 = ((ZdfFlatUI.ZDatePicker)(target)); return; case 12: this.dateControl7 = ((ZdfFlatUI.ZDatePicker)(target)); return; } this._contentLoaded = true; }
private static void SelectedTimeChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e) { ZDatePicker datePicker = d as ZDatePicker; datePicker.SetSingleDateToTextBox(datePicker.SelectedDate); }
private static void TypeChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e) { ZDatePicker datePicker = d as ZDatePicker; datePicker.SetSelectionMode(datePicker, (EnumDatePickerType)e.NewValue); }