C# WPF鼠标单击关闭事件

C# WPF鼠标单击关闭事件,c#,wpf,mouseevent,C#,Wpf,Mouseevent,我知道每个控件都有一个鼠标单击事件,但是有没有办法确定鼠标单击何时不在控件上?您可以检查IsMouseOver是否为false,如果您想在IsMouseOver==false时挂起一个操作,您可以覆盖该dp的元数据。您可以检查IsMouseOver是否为false,如果您想在IsMouseOver==false时钩住一个动作,您可以覆盖该dp的元数据。您可以用来查找窗口上所有控件或目标类型的可视元素并处理其鼠标事件。您可以用来查找窗口上所有控件或目标类型的可视元素并处理其鼠标事件。您可以调用Ca

我知道每个控件都有一个鼠标单击事件,但是有没有办法确定鼠标单击何时不在控件上?

您可以检查IsMouseOver是否为false,如果您想在IsMouseOver==false时挂起一个操作,您可以覆盖该dp的元数据。

您可以检查IsMouseOver是否为false,如果您想在IsMouseOver==false时钩住一个动作,您可以覆盖该dp的元数据。

您可以用来查找窗口上所有控件或目标类型的可视元素并处理其鼠标事件。

您可以用来查找窗口上所有控件或目标类型的可视元素并处理其鼠标事件。

您可以调用CaptureMouse,然后该对象将收到所有鼠标事件。然后,您可以从鼠标点向下确定它是否在控件的边界内。或者您可以监听LostMouseCapture事件。

您可以调用CaptureMouse,然后该对象将接收所有鼠标事件。然后,您可以从鼠标点向下确定它是否在控件的边界内。或者您可以监听LostMouseCapture事件。

这对
单击事件不起作用(因为没有隧道版本,只有冒泡版本),但是您可以在
窗口上处理路由的
PreviewMouseLeftButtonDown
,并检查目标控件是否在命中树中。

这对
单击事件无效(因为没有隧道版本,只有冒泡版本),但是您可以在
窗口
类上处理路由的
PreviewMouseLeftButtonDown
,并检查目标控件是否在命中树中。

1。不,不是每个控件都有鼠标单击事件。只有在逻辑上可单击的东西(例如按钮、复选框、菜单项、超链接)才有单击事件。其他控件,如文本框和图像,则没有。如果你想让其他东西可以点击,比如一张图片,那么你应该重新设计一个按钮的样式。2.如果没有单击控件X,则不会通知控件X——控件Y(您实际单击的控件)将获取事件。1。不,不是每个控件都有鼠标单击事件。只有在逻辑上可单击的东西(例如按钮、复选框、菜单项、超链接)才有单击事件。其他控件,如文本框和图像,则没有。如果你想让其他东西可以点击,比如一张图片,那么你应该重新设计一个按钮的样式。2.如果没有单击控件X,则不会通知控件X——控件Y(您实际单击的控件)将获取事件。