Esempio n. 1
0
 private static void OnIsTimeShownChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
 {
     if ((bool)e.NewValue != (bool)e.OldValue)
     {
         DateTimeEditor dt = d as DateTimeEditor;
         if ((bool)e.NewValue)
         {
             if (string.IsNullOrEmpty(dt.dtFormat))
             {
                 dt.dtFormat = DateTimeEditor.formatProvider[dt.CultureInfo.Name].TimeFormat;
             }
             else
             {
                 dt.dtFormat = DateTimeEditor.formatProvider[dt.CultureInfo.Name].DateFormat
                               + " " + DateTimeEditor.formatProvider[dt.CultureInfo.Name].TimeFormat;
             }
         }
         else
         {
             dt.dtFormat = DateTimeEditor.formatProvider[dt.CultureInfo.Name].DateFormat;
         }
         dt.Mask = dt.dtFormat.Replace('H', '0').Replace('M', '0').Replace('d', '0').Replace('m', '0').Replace('y', '0').Replace('s', '0');
         if (!dt.IsNullable)
         {
             dt.Value = DateTime.Now;
         }
         else
         {
             dt.Value = DateTime.Parse("1/1/0001 00:00:00");
         }
         dt.RefreshText(dt.MaskProvider, 0);
     }
 }
Esempio n. 2
0
        private static void minValueChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            DateTimeEditor DateTimeUpDown = ((DateTimeEditor)d);

            DateTimeUpDown.CoerceValue(DateTimeEditor.MaxValueProperty);
            DateTimeUpDown.CoerceValue(DateTimeEditor.ValueProperty);
        }
Esempio n. 3
0
        private static object coerceFormatCallback(DependencyObject d, object value)
        {
            DateTimeEditor DateTimeUpDown = ((DateTimeEditor)d);

            // check format is valid

            return(value);
        }
Esempio n. 4
0
 //force the text of the control to use the mask
 private static object ForceText(DependencyObject sender, object value)
 {
     if (!isValueChanging)
     {
         DateTimeEditor textBox = (DateTimeEditor)sender;
         if (textBox.Mask != null)
         {
             MaskedTextProvider provider = textBox.MaskProvider;
             provider.Set((string)value);
             isValueChanging = true; //prevent endless loop
             if (value == null || string.IsNullOrEmpty((string)value))
             {
                 if (textBox.IsNullable)
                 {
                     textBox.Value = DateTime.Parse("1/1/0001 00:00:00");
                 }
                 else
                 {
                     throw new Exception("Only IsNullable is set to true, Text can be empty.");
                 }
             }
             else
             {
                 DateTime result = new DateTime();
                 if (!DateTime.TryParse((string)value, textBox.CultureInfo, DateTimeStyles.None, out result))
                 {
                     textBox.lastValidValue = textBox.Value;
                 }
                 else
                 {
                     textBox.Value = result;
                 }
             }
             isValueChanging = false;
             if (value == null || string.IsNullOrEmpty((string)value))
             {
                 return("");
             }
             else
             {
                 return(provider.ToDisplayString());
             }
         }
     }
     return(value);
 }
Esempio n. 5
0
        private static void valueChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            DateTimeEditor           dt = (DateTimeEditor)d;
            DateTimeChangedEventArgs ea =
                new DateTimeChangedEventArgs(DateTimeEditor.ValueChangedEvent, d, (DateTime?)e.OldValue, (DateTime?)e.NewValue);

            dt.RaiseEvent(ea);
            //if (ea.Handled) DateTimeUpDown.Value = (DateTime)e.OldValue;
            //else
            if (e.NewValue == null)
            {
                dt.PART_TextBox.Text = string.Empty;
            }
            else
            {
                dt.PART_TextBox.Text = ((DateTime)e.NewValue).ToString(dt.Format);
            }
        }
Esempio n. 6
0
 private static void OnValueChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
 {
     if (!isValueChanging)
     {
         isValueChanging = true;
         DateTimeEditor dt = d as DateTimeEditor;
         if (dt != null)
         {
             if (((DateTime)e.NewValue).ToString("dd/MM/yyyy HH:mm:ss") != "1/1/0001 00:00:00")
             {
                 dt.Text = ((DateTime)e.NewValue).ToString(dt.dtFormat, dt.CultureInfo);
                 dt.RefreshText(dt.MaskProvider, 0);
             }
             else
             {
                 dt.Text = "";
             }
         }
         isValueChanging = false;
     }
 }
Esempio n. 7
0
        private static object coerceValueCallback(DependencyObject d, object value)
        {
            DateTimeEditor dt = (DateTimeEditor)d;

            if (value != null)
            {
                DateTime val = (DateTime)value;
                if (val > dt.MinValue && val < dt.MaxValue)
                {
                    return(val);
                }
                else if (val < dt.MinValue)
                {
                    return(dt.MinValue);
                }
                else if (val < dt.MaxValue)
                {
                    return(dt.MaxValue);
                }
            }
            return(null);
        }