传递给OnPreviewMouseLeftButtonDown的覆盖的args对象似乎描述了当前(实时)鼠标按钮状态,而不是事件发生时当前状态的快照。
这是正确的行为吗?事件参数是否应该反映事件发生时的事件数据(快照),而不是自动更新以反映实时数据?
谢谢你,
本
protected override void OnPreviewMouseLeftButtonDown(MouseButtonEventArgs e)
{
// before MessageBox display, e.ButtonState = Pressed
MessageBox.Show("OnPreviewMouseLeftButtonDown");
// now, e.ButtonState = Released
base.OnPreviewMouseLeftButtonDown(e);
}
答案 0 :(得分:1)
答案 1 :(得分:0)
EventArgs
类的任何实例成员都不保证是线程安全的。所以我想如果参数的内部状态改变,我们不能抱怨;)