当我第一次打开使用wpf工具包datepicker的窗口时,今天的日期在日历中突出显示,但相关文本框中没有任何内容(期望水印为mm / dd / yyy)。
我希望在用户选择日期并“提交”之后将日期选择重置为初始状态,以便当他们再次使用它时,不是在他们之前选择的日期。因此,例如,如果一个人从现在起2个月后选择了一个日期,那么当它被重置时,文本框就是mm / dd / yyyy水印,当日历打开时,它以今天的日期作为“开始日期”开始。
我尝试了以下各种组合,但这并没有重置文字:
//set date to today so it move the calendar to this date
mydatepicker.SelectedDate = DateTime.Now;
//reset since we don't want a date selected
mydatepicker.SelectedDate = null;
//reset the text
mydatepicker.Text = string.Empty;
如果我仅重置文本,则不会重置日历(所选日期\开始)。但是,如果我设置日历,文本会更新,而不仅仅是水印。
有什么想法吗?
由于
答案 0 :(得分:7)
我相信你要找的是DisplayDate属性。此属性不可为空,对应于日历控件中当前选择的日期。我在一个快速的一次性WPF应用程序中测试了以下内容,它运行良好。注释掉设置DisplayDate的行给出了你描述的行为。
datePicker1.SelectedDate = null;
datePicker1.DisplayDate = DateTime.Today;