题
我知道每个控件都有一个鼠标点击事件,但有没有办法确定鼠标点击何时不在控件上?
解决方案
您可以使用此代码找到窗口上所有控件或目标类型的可视元素并处理它的鼠标事件。
其他提示
您可以检查IsMouseOver是否为false,如果您想在IsMouseOver == false时挂钩操作,则可以覆盖该dp的元数据。
您可以调用CaptureMouse,然后该对象将接收所有鼠标事件。然后,您可以从鼠标的位置确定它是否在您的控件的范围内。或者您可以改为监听LostMouseCapture事件。
这不适用于 Click
事件(因为没有隧道版本,只有冒泡版本),但您可以处理< PreviewMouseLeftButtonDown
上的路径< code> Window 类,检查目标控件是否在命中树中。
不隶属于 StackOverflow