WPF 检测鼠标点击超出窗口范围

yu *_*ian 2 c# wpf window

如何检测用户在窗口范围外单击鼠标时的操作?我想当鼠标单击窗口外时隐藏它。

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

Window w = new Window();
w.Show();
w.LostFocus += (sender, args) => { w.Hide(); };
Run Code Online (Sandbox Code Playgroud)

编辑:

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

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

yu *_*ian 6

您可以使用Window.Deactivated Event 来检测鼠标单击超出窗口范围:

Window w = new Window();
w.Show();
w.Deactivated += (sender, args) => { w.Hide(); };
Run Code Online (Sandbox Code Playgroud)