DatePicker SelectedDateChanged事件

DatePicker SelectedDateChanged事件

问题描述:

在我在XAML中的Silverlight项目中,我创建了一个包含DatePicker控件的窗口。然后,我在窗口SelectedDate的构造函数中设置selecteddatechanged事件并为其定义回调函数。

为什么在构造函数中更改selecteddate之后立即调用此回调函数?
我认为它只会在用户更改日期后调用,而不是在构造函数中第一次初始化后立即调用。DatePicker SelectedDateChanged事件

public MyWindow() 
{ 
    InitializeComponent(); 
    this.datePicker.SelectedDate = DateTime.Today; 
    this.datePicker.SelectedDateChanged += new EventHandler<SelectionChangedEventArgs>(datePicker_SelectedDateChanged); 
} 

void datePicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e) 
{ 
    ... 
} 

为什么?放入一个中断点并检查发件人对象。这可能会给你一个线索,说明为什么有什么东西触发了变化事件。对于一个解决方案,如果发送者是足够独特的,则代码可以被写入以忽略该发送者;从而解决问题。

+0

public MyWindow() { InitializeComponent(); this.datePicker.SelectedDate = new DateTime(1950,1,1); this.datePicker.SelectedDateChanged + = new EventHandler (datePicker_SelectedDateChanged); } 空隙datePicker_SelectedDateChanged(对象发件人,SelectionChangedEventArgs E) { //上断点发送者是1950年1月1日00:00:00 } – Lukas 2012-04-02 07:04:42

+0

可以日期至1950初始化呼叫之前发生的InitializeComponent()? – OmegaMan 2012-04-02 18:58:36

+0

你的意思是? 'public MyWindow() { this.datePicker.SelectedDate = new DateTime(1950,1,1); InitializeComponent(); this.datePicker.SelectedDateChanged + = new EventHandler (datePicker_SelectedDateChanged); }' 但这会导致空引用异常... – Lukas 2012-04-12 07:14:37