我想知道是否有打開一個WPF彈出沒有將焦點移至它的方式。打開WPF彈出式菜單控件沒有焦點
當我設置Pupup的屬性IsOpen = true時,Applciation窗口失去焦點(解除激活的事件被觸發),焦點被移動到彈出窗口,我想維持焦點窗口。
我已經嘗試過的方法FocusManager.GetFocusedElement
獲得具有焦點的前一個元素,然後再次將焦點設置到它,但它並沒有爲我工作。
任何想法?
在此先感謝。
我想知道是否有打開一個WPF彈出沒有將焦點移至它的方式。打開WPF彈出式菜單控件沒有焦點
當我設置Pupup的屬性IsOpen = true時,Applciation窗口失去焦點(解除激活的事件被觸發),焦點被移動到彈出窗口,我想維持焦點窗口。
我已經嘗試過的方法FocusManager.GetFocusedElement
獲得具有焦點的前一個元素,然後再次將焦點設置到它,但它並沒有爲我工作。
任何想法?
在此先感謝。
你可以嘗試一件事......
讓你的窗口句柄Keyboard.PreviewLostKeyboardFocus。
<Window Keyboard.PreviewLostKeyboardFocus="KeyboardFocusChangedEventHandler" ... />
在您的處理程序處理彈出窗口打開時的事件。
private void KeyboardFocusChangedEventHandler(object sender, KeyboardFocusChangedEventArgs e)
{
e.Handled = this.popup.IsOpen;
}
讓我知道,如果這個工程....
當然彈出將收購的重點只是爲了確保它會從鼠標和鍵盤的輸入。你想要達到什麼目的?你想讓你的主要收穫保持專注嗎? – 2011-08-03 09:24:53