无焦点打开WPF弹出控件

时间:2011-08-02 08:33:14

标签: wpf popup

我想知道是否有办法打开WPF Popup而不关注它。

当我设置Pupup的属性IsOpen = true时,Applciation窗口失去焦点(触发Deactivated事件)并且focis被移动到Popup并且我想维持具有焦点的窗口。

我已经尝试使用方法FocusManager.GetFocusedElement来获取前一个焦点元素,然后再将焦点设置为它,但它对我不起作用。

有什么想法吗?

提前致谢。

2 个答案:

答案 0 :(得分:0)

尝试将Focusable属性设置为false。

答案 1 :(得分:0)

你能尝试一件事......

  1. 让你的窗口处理Keyboard.PreviewLostKeyboardFocus。

    <Window Keyboard.PreviewLostKeyboardFocus="KeyboardFocusChangedEventHandler" ... />
    
  2. 在处理程序中处理弹出窗口打开时的事件。

    private void KeyboardFocusChangedEventHandler(object sender, KeyboardFocusChangedEventArgs e)
    {
           e.Handled = this.popup.IsOpen;
    }
    
  3. 让我知道这是否有效......