.net 获取应用程序鼠标事件而不捕获?

.net 获取应用程序鼠标事件而不捕获?,.net,wpf,mouseevent,.net,Wpf,Mouseevent,我想制作一个如下的用户控件: 如果文本框获得焦点,将显示一个弹出窗口;如果文本框失去焦点,则弹出窗口将隐藏。这并不难。然而,这里还有另一个要求: 如果用户单击(鼠标下键)此窗口的其他区域/元素(无论是文本框还是弹出窗口),则弹出窗口应隐藏。(注意:焦点仍然在文本框上): 对于TextBox,不捕获鼠标的原因有很多,最重要的原因是TextBox有自己的机制来处理鼠标事件。捕捉鼠标可能会使文本框行为异常 我想知道是否有一种方法可以在不捕获鼠标的情况下获取应用程序鼠标事件 我想一定有,想想组合框,你

我想制作一个如下的用户控件:

如果
文本框
获得焦点,将显示一个
弹出窗口
;如果
文本框
失去焦点,则
弹出窗口
将隐藏。这并不难。然而,这里还有另一个要求:

如果用户单击(鼠标下键)此窗口的其他区域/元素(无论是文本框还是
弹出窗口
),则弹出窗口应隐藏。(注意:焦点仍然在
文本框上
):

对于
TextBox
,不捕获鼠标的原因有很多,最重要的原因是
TextBox
有自己的机制来处理鼠标事件。捕捉鼠标可能会使
文本框
行为异常

我想知道是否有一种方法可以在不捕获鼠标的情况下获取应用程序鼠标事件

我想一定有,想想组合框,你知道我的意思


这里有一个相关的讨论,但对我没有多大帮助。处理公共窗口单击事件,使用HitTest查找它是否超出Combobox的范围,并执行正确的处理。