コード例 #1
0
        /// <summary>
        /// SelectedDateFormatProperty property changed handler.
        /// </summary>
        /// <param name="d">DatePicker that changed its SelectedDateFormat.</param>
        /// <param name="e">DependencyPropertyChangedEventArgs.</param>
        private static void OnSelectedDateFormatChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            DatePicker datePicker = d as DatePicker;

            Debug.Assert(datePicker != null);

            if (IsValidSelectedDateFormat((DatePickerFormat)e.NewValue))
            {
                if (datePicker._textBox != null)
                {
                    //Update DatePickerTextBox.Text
                    if (string.IsNullOrEmpty(datePicker._textBox.Text))
                    {
                        datePicker.SetWaterMarkText();
                    }
                    else
                    {
                        DateTime?date = datePicker.ParseText(datePicker._textBox.Text);

                        if (date != null)
                        {
                            string s = datePicker.DateTimeToString((DateTime)date);
                            datePicker.Text = s;
                        }
                    }
                }
            }
            else
            {
                throw new ArgumentOutOfRangeException("d", Resource.DatePicker_OnSelectedDateFormatChanged_InvalidValue);
            }
        }
コード例 #2
0
        /// <summary>
        /// SelectedDateFormatProperty property changed handler.
        /// </summary>
        /// <param name="d">DatePicker that changed its SelectedDateFormat.</param>
        /// <param name="e">DependencyPropertyChangedEventArgs.</param>
        private static void OnSelectedDateFormatChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            DatePicker dp = d as DatePicker;

            Debug.Assert(dp != null);

            if (dp._textBox != null)
            {
                // Update DatePickerTextBox.Text
                if (string.IsNullOrEmpty(dp._textBox.Text))
                {
                    dp.SetWaterMarkText();
                }
                else
                {
                    DateTime?date = dp.ParseText(dp._textBox.Text);

                    if (date != null)
                    {
                        dp.SetTextInternal(dp.DateTimeToString((DateTime)date));
                    }
                }
            }
        }