예제 #1
0
        private static void LoadTime(TimePickerControl control, DateTime dateTime)
        {
            if (control.IsLoading)
            {
                return;
            }
            control.IsLoading = true;
            if (control.TimeFormat == null)
            {
                control.HoursNumericUpDown.Maximum      = 23;
                control.HoursNumericUpDown.Value        = dateTime.Hour;
                control.MinutesNumericUpDown.Value      = dateTime.Minute;
                control.SecondsNumericUpDown.Value      = dateTime.Second;
                control.MinutesSeparator.Visibility     = Visibility.Visible;
                control.SecondsNumericUpDown.Visibility = Visibility.Visible;
                control.ttCombobox.Visibility           = Visibility.Collapsed;
                control.IsLoading = false;
                return;
            }

            switch (control.TimeFormat)
            {
            case "HH:mm:ss":
                control.HoursNumericUpDown.Maximum      = 23;
                control.HoursNumericUpDown.Value        = dateTime.Hour;
                control.MinutesNumericUpDown.Value      = dateTime.Minute;
                control.SecondsNumericUpDown.Value      = dateTime.Second;
                control.MinutesSeparator.Visibility     = Visibility.Visible;
                control.SecondsNumericUpDown.Visibility = Visibility.Visible;
                control.ttCombobox.Visibility           = Visibility.Collapsed;
                break;

            case "HH:mm":
                control.HoursNumericUpDown.Maximum      = 23;
                control.HoursNumericUpDown.Value        = dateTime.Hour;
                control.MinutesNumericUpDown.Value      = dateTime.Minute;
                control.SecondsNumericUpDown.Value      = dateTime.Second;
                control.MinutesSeparator.Visibility     = Visibility.Collapsed;
                control.SecondsNumericUpDown.Visibility = Visibility.Collapsed;
                control.ttCombobox.Visibility           = Visibility.Collapsed;
                break;

            case "hh:mm:ss tt":
                control.MinutesNumericUpDown.Value      = dateTime.Minute;
                control.SecondsNumericUpDown.Value      = dateTime.Second;
                control.MinutesSeparator.Visibility     = Visibility.Visible;
                control.SecondsNumericUpDown.Visibility = Visibility.Visible;
                control.ttCombobox.Visibility           = Visibility.Visible;
                if (dateTime.Hour > 12)
                {
                    control.HoursNumericUpDown.Value   = dateTime.Hour % 12;
                    control.HoursNumericUpDown.Maximum = 12;
                    control.ttCombobox.SelectedIndex   = 1;
                }
                else
                {
                    control.HoursNumericUpDown.Value   = dateTime.Hour;
                    control.HoursNumericUpDown.Maximum = 11;
                    control.ttCombobox.SelectedIndex   = 0;
                }
                break;

            case "hh:mm tt":
                control.MinutesNumericUpDown.Value      = dateTime.Minute;
                control.SecondsNumericUpDown.Value      = dateTime.Second;
                control.MinutesSeparator.Visibility     = Visibility.Collapsed;
                control.SecondsNumericUpDown.Visibility = Visibility.Collapsed;
                control.ttCombobox.Visibility           = Visibility.Visible;
                if (dateTime.Hour > 12)
                {
                    control.HoursNumericUpDown.Value   = dateTime.Hour % 12;
                    control.HoursNumericUpDown.Maximum = 12;
                    control.ttCombobox.SelectedIndex   = 1;
                }
                else
                {
                    control.HoursNumericUpDown.Value   = dateTime.Hour;
                    control.HoursNumericUpDown.Maximum = 11;
                    control.ttCombobox.SelectedIndex   = 0;
                }
                break;

            default:
                throw new FormatException("Invalid time format.");
            }
            control.IsLoading = false;
        }
        private static void LoadTime(TimePickerControl control, DateTime dateTime)
        {
            if (control.IsLoading)
            {
                return;
            }
            control.IsLoading = true;
            if (control.TimeFormat == null)
            {
                control.HoursNumericUpDown.Maximum = 23;
                control.HoursNumericUpDown.Value = dateTime.Hour;
                control.MinutesNumericUpDown.Value = dateTime.Minute;
                control.SecondsNumericUpDown.Value = dateTime.Second;
                control.MinutesSeparator.Visibility = Visibility.Visible;
                control.SecondsNumericUpDown.Visibility = Visibility.Visible;
                control.ttCombobox.Visibility = Visibility.Collapsed;
                control.IsLoading = false;
                return;
            }

            switch (control.TimeFormat)
            {
                case "HH:mm:ss":
                    control.HoursNumericUpDown.Maximum = 23;
                    control.HoursNumericUpDown.Value = dateTime.Hour;
                    control.MinutesNumericUpDown.Value = dateTime.Minute;
                    control.SecondsNumericUpDown.Value = dateTime.Second;
                    control.MinutesSeparator.Visibility = Visibility.Visible;
                    control.SecondsNumericUpDown.Visibility = Visibility.Visible;
                    control.ttCombobox.Visibility = Visibility.Collapsed;
                    break;
                case "HH:mm":
                    control.HoursNumericUpDown.Maximum = 23;
                    control.HoursNumericUpDown.Value = dateTime.Hour;
                    control.MinutesNumericUpDown.Value = dateTime.Minute;
                    control.SecondsNumericUpDown.Value = dateTime.Second;
                    control.MinutesSeparator.Visibility = Visibility.Collapsed;
                    control.SecondsNumericUpDown.Visibility = Visibility.Collapsed;
                    control.ttCombobox.Visibility = Visibility.Collapsed;
                    break;
                case "hh:mm:ss tt":
                    control.MinutesNumericUpDown.Value = dateTime.Minute;
                    control.SecondsNumericUpDown.Value = dateTime.Second;
                    control.MinutesSeparator.Visibility = Visibility.Visible;
                    control.SecondsNumericUpDown.Visibility = Visibility.Visible;
                    control.ttCombobox.Visibility = Visibility.Visible;
                    if (dateTime.Hour > 12)
                    {
                        control.HoursNumericUpDown.Value = dateTime.Hour%12;
                        control.HoursNumericUpDown.Maximum = 12;
                        control.ttCombobox.SelectedIndex = 1;
                    }
                    else
                    {
                        control.HoursNumericUpDown.Value = dateTime.Hour;
                        control.HoursNumericUpDown.Maximum = 11;
                        control.ttCombobox.SelectedIndex = 0;
                    }
                    break;
                case "hh:mm tt":
                    control.MinutesNumericUpDown.Value = dateTime.Minute;
                    control.SecondsNumericUpDown.Value = dateTime.Second;
                    control.MinutesSeparator.Visibility = Visibility.Collapsed;
                    control.SecondsNumericUpDown.Visibility = Visibility.Collapsed;
                    control.ttCombobox.Visibility = Visibility.Visible;
                    if (dateTime.Hour > 12)
                    {
                        control.HoursNumericUpDown.Value = dateTime.Hour%12;
                        control.HoursNumericUpDown.Maximum = 12;
                        control.ttCombobox.SelectedIndex = 1;
                    }
                    else
                    {
                        control.HoursNumericUpDown.Value = dateTime.Hour;
                        control.HoursNumericUpDown.Maximum = 11;
                        control.ttCombobox.SelectedIndex = 0;
                    }
                    break;
                default:
                    throw new FormatException("Invalid time format.");
            }
            control.IsLoading = false;
        }