2013-03-25 49 views
0

我們正在遇到關於多個窗口之間焦點的奇怪行爲。WPF - 顯示多個窗口時出現錯誤焦點

我們的情景是這樣的:

「窗口A」打開子「窗口B」使用Show方法(不precifying窗口的所有者)。兩個Windows都完全獨立。

在「窗口B」中單擊按鈕打開「窗口C」(顯示模式窗口)。

A - >乙 - 「ç

當 」窗口C「 被關閉時,焦點就回到 」窗口A「。

在我看來,「窗口B」應該重新獲得焦點,因爲它是窗口的「邏輯」所有者(因爲我沒有指定所有者)。

它看起來像回到第一個instanciated窗口的焦點。

有沒有辦法在我的情況下「強制」焦點,在「窗口B」。

回答

0

你應該能夠您的ShowDialog()返回後有權這樣做

B.Activate(); 

+0

謝謝。經過進一步調查,它看起來像我們的框架中的一個錯誤。 Activate方法被正確調用,但由於某種原因,使用Dispatcher.BeginInvoke關閉了「Window C」。 Activate方法返回「false」,因爲此時「窗口C」未關閉。如果我將「BeginInvoke」更改爲「Invoke」,它可以正常工作。我們的開發團隊將調查問題。 – 2013-03-26 20:03:20