WPF 检测鼠标点击越界 Window

WPF Detect Mouse Click out of the Bound of Window

如何检测用户在 Window 范围外单击鼠标时的动作?我想在鼠标点击 Window.

时隐藏它

我尝试了 LostFocus Event,但它似乎不起作用:

Window w = new Window();
w.Show();
w.LostFocus += (sender, args) => { w.Hide(); };

编辑:

对于第一个可能的重复,它问 I want the user to be able to move the Window to any position..,答案是 this.DragMove(); 所以我认为它不是重复的。

对于第二个,我认为我的情况与它有些不同

您可以使用Window.Deactivated Event检测鼠标点击越界Window:

Window w = new Window();
w.Show();
w.Deactivated += (sender, args) => { w.Hide(); };