public static void OnStringValueChanged(DependencyObject sedner, DependencyPropertyChangedEventArgs args)
        {
            DateTimePicker picker = sedner as DateTimePicker;

            if (args.NewValue == null)
            {
                picker.MainContentTb.Text = null;
                return;
            }
            DateTime dt;

            DateTime.TryParse(args.NewValue.ToString(), out dt);
            if (dt != null)
            {
                MDateTime mDateTime = new MDateTime()
                {
                    Year   = dt.Year,
                    Month  = dt.Month,
                    Day    = dt.Day,
                    Hour   = dt.Hour,
                    Minute = dt.Minute,
                    Second = dt.Second
                };
                picker.Value = mDateTime;
                picker.setDate();
            }
        }
        private static void OnSecondChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args)
        {
            DateTimePicker picker = (DateTimePicker)sender;
            MDateTime      mDate  = picker.Value;

            mDate.Second = (int)args.NewValue;
            picker.Value = mDate;
        }
        private static void OnValueChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args)
        {
            DateTimePicker picker   = (DateTimePicker)sender;
            MDateTime      old      = (MDateTime)args.OldValue;
            MDateTime      newValue = (MDateTime)args.NewValue;
            MDateTime      mDate    = picker.Value;

            picker.Hour   = newValue.Hour;
            picker.Minute = newValue.Minute;
            picker.Second = newValue.Second;

            picker.StringValue = MDateTimeTostring(newValue);
            picker.OnValueChanged(old.ToString(), newValue.ToString());
        }
        private void MainContent_TextChanged(object sender, TextChangedEventArgs e)
        {
            DateTime dt;

            DateTime.TryParse(this.MainContentTb.Text, out dt);
            if (dt != null)
            {
                MDateTime mDateTime = new MDateTime()
                {
                    Year   = dt.Year,
                    Month  = dt.Month,
                    Day    = dt.Day,
                    Hour   = dt.Hour,
                    Minute = dt.Minute,
                    Second = dt.Second
                };
                this.Value = mDateTime;
            }
        }
 public static string MDateTimeTostring(MDateTime mDateTime)
 {
     return(mDateTime.Year + "-" + (mDateTime.Month < 10 ? "0" : "") + mDateTime.Month + "-" + (mDateTime.Day < 10 ? "0" : "") + mDateTime.Day + " " + (mDateTime.Hour < 10 ? "0" : "") + mDateTime.Hour + ":" + (mDateTime.Minute < 10 ? "0" : "") + mDateTime.Minute + ":" + (mDateTime.Second < 10 ? "0" : "") + mDateTime.Second);
 }