我有这个代码:
Mouse.AddPreviewMouseDownOutsideCapturedElementHandler(this,
OnMouseDownOutsideCapture);
当鼠标点击发生在我的 WPF 弹出窗口之外时,它会完全捕获(所以我可以关闭它)。
private void OnMouseDownOutsideCapture(object sender, MouseButtonEventArgs e)
{
if (Mouse.Captured is ComboBox) return;
if (IsOpen)
IsOpen = false;
ReleaseMouseCapture();
}
但是我需要一些方法来知道焦点是否通过键盘移到了我的弹出窗口之外。更具体地说,通过快捷方式(即 Alt + T)。
现在,当用户以这种方式将焦点移开时,我的弹出窗口不会关闭。有任何想法吗?