【问题标题】:DatePicker SelectedDateChanged eventDatePicker SelectedDateChanged 事件
【发布时间】:2012-03-30 07:31:27
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: c# silverlight events datetimepicker


    【解决方案1】:

    为什么?放置一个断点并检查发送者对象。这可能会给你一个线索,让你知道为什么某些东西会触发 change 事件。

    至于解决方案,如果发件人足够独特,则可以编写代码来忽略该发件人;从而解决问题。

    【讨论】:

    • public MyWindow() { InitializeComponent(); this.datePicker.SelectedDate = new DateTime(1950,1,1); this.datePicker.SelectedDateChanged += new EventHandler(datePicker_SelectedDateChanged); } void datePicker_SelectedDateChanged(object sender, SelectionChangedEventArgs e) { // 断点上的发送者是 1.1.1950 00:00:00 }
    • 可以在调用 InitializeComponent() 之前将日期初始化为 1950 年吗?
    • 你是这个意思吗? public MyWindow() { this.datePicker.SelectedDate = new DateTime(1950,1,1); InitializeComponent(); this.datePicker.SelectedDateChanged += new EventHandler&lt;SelectionChangedEventArgs&gt;(datePicker_SelectedDateChanged); } 但这会导致空引用异常...
    • 也许可以尝试使用 Teleriks 或 Component1s 日期选择器,看看效果是否更好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    • 2015-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多