2013-10-02 37 views
1

是否有方法可以在PreviewLostKeyboardFocus處理程序中查找新焦點控件?例如,我有一個帶有PreviewLostKeyboardFocus事件的文本框控件,並且我單擊了另一個控件。有沒有辦法找出PreviewLostKeyboardFocus處理程序方法中的新控件?WPF在PreviewLostKeyboardFocus中查找新焦點控件

奇怪的部分是textbox.IsFocused返回false,並且FocusManager.GetFocusedElement(Application.Current.MainWindow)返回當前的文本框控件。

非常感謝廣告!

回答

0

您應該設置控件的TabIndex屬性。
假設下一個獲得焦點的控件將是下一個TabIndex的控件。

關於你的下一個問題,IsFocused是在運行時設置的。因此,如果您使用調試器查看TextBox屬性,則只有當鍵盤位於該位置時,纔會看到IsFocused true

+0

感謝Tico的回覆,但那不是我正在尋找的東西。 – Ming

+0

假設我想單擊另一個控件(任何其他控件),我想知道該控件是什麼,而代碼仍在PreviewLoseKeyboardFocus處理程序方法中運行。在這種情況下,我認爲tabIndex不會幫助我。至於textbox.IsFocused屬性,我在調試模式(textbox_PreviewLostKeyboardFocus()事件處理程序內部)中驗證了該值,並且該屬性返回false。儘管如此,非常感謝! – Ming

+0

對不起,我幫不了你! – Tico