0
有没有一种方法可以将datepicker值设置为Empty/Null/blank(通常默认为mindate,即01/01/0001)Silverlight 5 DatePicker(或任何其他日期控制)允许空白/空/空值
感谢您对此的帮助!
有没有一种方法可以将datepicker值设置为Empty/Null/blank(通常默认为mindate,即01/01/0001)Silverlight 5 DatePicker(或任何其他日期控制)允许空白/空/空值
感谢您对此的帮助!
XAML:
转换器:日期时间为空转换
public class DateTimeToNullConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if(System.Convert.ToDateTime(value).ToLongTimeString() != "12:00:00 AM")
{
return null;
}
return value;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == null || value.ToString() == "")
{
return DateTime.Now;
}
return value;
}
}
}
使用该转换器的文本,一个日期选择器的SelectedDate和显示日期财产 再处理视图模型中的lostfocus中继命令用于更多va lidation
private void FromDateLostFocusCommandExecuted(EventArgs args)
{
//ClearValidationErrors();
string inputDate =
((System.Windows.Controls.Primitives.DatePickerTextBox)
(((System.Windows.RoutedEventArgs)(args)).OriginalSource)).Text;
if (inputDate != "")
{
if (!IsValidDate(inputDate))
{
ObservableCollection<string> errors = GetErrorsCollection("FromDate");
errors.Add("Please enter a valid From Date (M/d/yyyy)");
RaiseErrorsChanged("FromDate");
if (!validationErrors.Contains("FromDate"))
{
validationErrors.Add("FromDate");
}
}
else
{
ClearValidationErrors("FromDate");
if (validationErrors.Contains("FromDate"))
{
validationErrors.Remove("FromDate");
}
}
}
else
{
ClearValidationErrors("FromDate");
if (validationErrors.Contains("FromDate"))
{
validationErrors.Remove("FromDate");
}
}
}