0

I have a DateTimePicker as follows:

<UserControl
...
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
...
>
     <xctk:DateTimePicker Name="MyDatePicker" 
           Value="{Binding MyDate, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" 
           Format="Custom" FormatString="dd/MM/yyyy HH:mm:ss"                
           AutoCloseCalendar="True"/>

I'm using IDateErrorInfo on my data model to handle business logic errors; for example:

public class MyViewModel : IDataErrorInfo
{
    public string Error
    {
        get { return null; }
    }

    public string this[string columnName]
    {
        get
        {                
            string error = DataValid();
            CanExecute = (error == string.Empty);

            return error;
        }
    }

CanExecute is a property which manages whether the user can select to submit the data. This all works well, however, if I simply select the date and mash the keyboard (type random letters), the date is reset to 01/01/01. What I would like to happen is for the date to effectively remain unchanged (that is, as it was before I mashed the keyboard). However, I can't seem to find a place to handle the casting error which obviously is occurring when this happens.

How can I trap this?

(The DateTimePicker control is part of the WPF Extension Kit)

Paul Michaels
  • 16,185
  • 43
  • 146
  • 269

1 Answers1

0

If you don't like the way the control handles errors you can handle errors yourself in a subclass, an example of this in my old question Wpf Datepicker Input modification

Community
  • 1
  • 1
Tewr
  • 3,713
  • 1
  • 29
  • 43