私はこのコードを持っています:
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)によるものです。
現在、ユーザーがそのようにフォーカスを外しても、ポップアップは閉じません。何か案は?