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); } }
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; } }