Well, you could always create a CellEditor with a DatePicker as DataTemplate, and set the name of the DatePicker to PART_CellEditorBoundControl.
Then you could bind the AttachedProperty xcdg:CellEditor.HasError on the DatePicker.SelectedDate to a Converter (you will need to create an IValueConverter) which evaluates if the selected date is within the range or not
Then you could subscribe to the ValidationErrorChanging RoutedEvent, check the ParentColumn, and in the case that it is the min/max DatePicker column, set the event args error message to something meaningful, if it is out of range.
e.g. :
<local:MinMaxConverter x:Key="minMaxConverter" />
<xcdg:CellEditor x:Key="minMaxDatePickerEditor"
>
<xcdg:CellEditor.EditTemplate>
<DataTemplate>
<xcdg:DatePicker Name="PART_CellEditorBoundControl"
xcdg:CellEditor.HasError="{Binding RelativeSource={RelativeSource Self}, Path=SelectedDate, Converter={StaticResource minMaxConverter} }"
xcdg:DataCell.IsCellFocusScope="True"
SelectedDate="{xcdg:CellEditorBinding}"
/>
</DataTemplate>
</xcdg:CellEditor.EditTemplate>
<!-- Declare the wanted key gesture that will activate the ShortTime CellEditor. -->
<xcdg:CellEditor.ActivationGestures>
<xcdg:TextInputActivationGesture />
</xcdg:CellEditor.ActivationGestures>
</xcdg:CellEditor>
André
Software Developer and Tech Support
Xceed Software Inc.