【发布时间】:2013-02-11 14:00:50
【问题描述】:
是否可以在激活窗口时阻止鼠标事件?
例如,我有一个 C# 窗口,我将焦点更改为其他东西,例如浏览器。当我通过单击重新激活 c# 窗口时,我不希望执行任何鼠标事件。第一次点击窗口应该只是激活它。仅当窗口已激活时才会触发鼠标事件。
【问题讨论】:
是否可以在激活窗口时阻止鼠标事件?
例如,我有一个 C# 窗口,我将焦点更改为其他东西,例如浏览器。当我通过单击重新激活 c# 窗口时,我不希望执行任何鼠标事件。第一次点击窗口应该只是激活它。仅当窗口已激活时才会触发鼠标事件。
【问题讨论】:
当用户点击您的 wpf 控件时将触发一个事件,但您为什么不直接处理该事件呢?
订阅事件并防止它在可视化树中冒泡:
private void Panel_KeyDown(object sender, KeyEventArgs e)
{
e.Handled = true;
}
看看这个link,它描述了 WPF 中的事件气泡和隧道。
【讨论】:
Window.OnActivated 来处理是否应由您的方法处理事件。 Link to MSDN