2014-09-19 85 views
1

在我的WPF應用程序中,我使用一個小窗口來顯示一些通知,但是當通知窗口出現時,主窗口中的焦點會丟失。 例如,當我在TextBox中編寫文檔並收到通知(通知窗口顯示)時,文本框失去焦點,我必須再次單擊文本框才能繼續我的工作。Wpf防止彈出窗口消除文本框的焦點

那麼當通知窗口出現時,如何保持主窗口的焦點?我已經試圖在通知窗口中設置Focusable =「false」

+0

你能告訴我們一個小例子來重現這個嗎?爲了幫助您,我們需要更多信息:什麼是通知窗口?你如何顯示它?等等。 – 2014-09-19 08:07:42

回答

0

有窗口對象的屬性ShowActivated這樣你就可以保持激活主窗口告訴你一個子窗口之後。

從MSDN:

當在其ShowActivated屬性的窗口設置爲false被打開時,窗口不被激活並且不引發其激活事件,直到用戶通過選擇手動激活窗口。

+0

謝謝,一個簡單而有效的解決方案 – Ced 2014-09-19 12:24:05

1

這不是真的的情況我怎樣才能阻止某些控制變得專注?,而不是如何在失去焦點後將控件對焦?現在,正如@ AdrianFaciu所提到的,當你從你的問題中遺漏了所有相關信息時,就很難進入細節。一種選擇是每當它失去焦點將焦點設置到您的控制:

private void OnControlLostFocus(object sender, RoutedEventArgs e) 
{ 
    YourControlType control = sender as YourControlType; 
    if (control != null) control.Focus(); 
}