我想知道是否有办法打开WPF Popup而不关注它。
当我设置Pupup的属性IsOpen = true时,Applciation窗口失去焦点(触发Deactivated事件)并且focis被移动到Popup并且我想维持具有焦点的窗口。
我已经尝试使用方法FocusManager.GetFocusedElement
来获取前一个焦点元素,然后再将焦点设置为它,但它对我不起作用。
有什么想法吗?
提前致谢。
答案 0 :(得分:0)
尝试将Focusable
属性设置为false。
答案 1 :(得分:0)
你能尝试一件事......
让你的窗口处理Keyboard.PreviewLostKeyboardFocus。
<Window Keyboard.PreviewLostKeyboardFocus="KeyboardFocusChangedEventHandler" ... />
在处理程序中处理弹出窗口打开时的事件。
private void KeyboardFocusChangedEventHandler(object sender, KeyboardFocusChangedEventArgs e)
{
e.Handled = this.popup.IsOpen;
}
让我知道这是否有效......