我正在寻找一种方法来执行某些操作,当用户点击DatePicker
控件中的接受/复选标记按钮时,当用户不更改日期时,这应该是与点击后退或取消按钮取消DatePicker
不同。有没有办法为这个按钮添加一个事件处理程序?
背景:为了帮助用户选择最近的日期(并避免过度滚动),DatePicker
设置为今天的日期。用户应该能够
DateChanged
事件中处理) - >好的(有点)DateChanged
不会触发,并且没有触发按钮的事件。鉴于下面的初步答案,我或许应该强调,这不是关于从控件获取日期值,而是关于知道用户是否已点击接受/复选标记按钮或取消选择。我正在寻找的是一种自定义DatePicker
控件的方法,以便我可以捕获该事件。
答案 0 :(得分:1)
这是正常行为,仅当日期实际发生变化时才会触发 DateChanged 事件。
当然,您仍然可以选择日期。为DatePicker元素命名:
<DatePicker Name="DatePick" Height="47" Width="323"/>
然后您可以通过查看Date属性来获取日期:
DateTimeOffset selectedDate = DatePick.Date;
这两个按钮(已完成/取消)仅用于验证在此UI中所做的更改:
完成:更改DatePicker元素中Date的值,如果日期已更改,则触发DateChanged事件,否则不会发生任何事情。
取消(或后退):取消日期选择,即使您在DatePicker中更改了所选日期,DatePicker元素的Date属性也保持不变。
如果您想知道用户是否接受了您向他显示的日期,请不要使用DatePicker UI中的按钮,而是在您自己的页面上添加两个按钮,DatePicker UI中的按钮只是用于验证或取消改变你的日期。