【发布时间】:2021-04-29 05:51:21
【问题描述】:
我有一个数据网格控件和一系列用于过滤该数据网格中数据的控件。
这些控件可以分为如下两个。
- 过滤组合框(包含
Today、Yesterday、Last Week、Last Month) - 两个日历日期选择器和一个按钮(分别是
From和To,当我单击按钮时,事件会采用From和To日期值的值并完成工作)
现在,我想做一些 UX 工作,如下所示。
- 当过滤器组合框的选中项发生变化时,两个日历日期选择器的值被清除。
- 单击按钮时,过滤器组合框的选定项被清除并设置回原来的占位符文本。
我可以管理它适用于要求 2,但 1 进展不顺利。下面是我的事件处理程序。我没有使用 MVVM。只需使用代码隐藏即可。
private void SelectionChanged_Filter(object sender, SelectionChangedEventArgs e)
{
/*DatePicker_FromDate.ClearValue(CalendarDatePicker.DateProperty);
DatePicker_FromDate.PlaceholderText = "Pick a Date";
DatePicker_ToDate.ClearValue(CalendarDatePicker.DateProperty);
DatePicker_ToDate.PlaceholderText = "Pick a Date";*/
DatePicker_FromDate.Date = null
DatePicker_ToDate.Date = null;
}
private void ButtonClick_Filter(object sender, Windows.UI.Xaml.RoutedEventArgs e)
{
// Clear the Filter Combobox's selected value
ComboBox_Filter.SelectedIndex = -1;
// EXCEPTION is in the below line:
var fromDate = Convert.ToDateTime(DatePicker_FromDate.Date.ToString()).ToString("dd-MM-yyyy");
var toDate = Convert.ToDateTime(DatePicker_ToDate.Date.ToString()).ToString("dd-MM-yyyy");
//...
}
例外是:
System.FormatException: 'String '' was not recognized as a valid DateTime.'
我认为将null 设置为日历日期选择器的日期值是无效的。更改组合框时如何清除这些值?
【问题讨论】: