2011-08-02 44 views
1

我想知道是否有打開一個WPF彈出沒有將焦點移至它的方式。打開WPF彈出式菜單控件沒有焦點

當我設置Pupup的屬性IsOpen = true時,Applciation窗口失去焦點(解除激活的事件被觸發),焦點被移動到彈出窗口,我想維持焦點窗口。

我已經嘗試過的方法FocusManager.GetFocusedElement獲得具有焦點的前一個元素,然後再次將焦點設置到它,但它並沒有爲我工作。

任何想法?

在此先感謝。

+0

當然彈出將收購的重點只是爲了確保它會從鼠標和鍵盤的輸入。你想要達到什麼目的?你想讓你的主要收穫保持專注嗎? – 2011-08-03 09:24:53

回答

0

嘗試Focusable屬性設置爲false。

+0

感謝您的回答。已經嘗試過,也不行。 – Paulo

0

你可以嘗試一件事......

  1. 讓你的窗口句柄Keyboard.PreviewLostKeyboardFocus。

    <Window Keyboard.PreviewLostKeyboardFocus="KeyboardFocusChangedEventHandler" ... /> 
    
  2. 在您的處理程序處理彈出窗口打開時的事件。

    private void KeyboardFocusChangedEventHandler(object sender, KeyboardFocusChangedEventArgs e) 
    { 
         e.Handled = this.popup.IsOpen; 
    } 
    

讓我知道,如果這個工程....