2010-12-06 69 views
0

我想使用使用保存焦點狀態

FocusManager.GetFocusedElement()

的「最佳實踐」技術在OnNavigatedFrom事件和

this.FindName

定位在的OnNavigatedTo事件聚焦控制。

我有一個全景頁面,每個PanoramaItem內我有一個用戶控制這反過來有許多控件,如文本框的等。

的GetFocusedElement確實在用戶控件檢索集中控制的名字,但FindName方法然後無法找到它回來!返回的名稱不包含任何對用戶控件本身的引用,所以我假設FindName不會遍歷用戶控件!

難道我做錯了什麼或沒有人知道容易地改善這種方式,或者至少是簡單的技術至少顯示或導航過的應用程序被關閉之前顯示的最後PanoramaItem?

+0

什麼是你指的是「最佳實踐」技術的來源是什麼? – 2010-12-06 11:07:13

回答

1

要將選定全景項時頁面導航使用DefaultItem屬性。

爲了確定這一點應該是什麼,導航離開該頁面時保存SelectedItem

您應該在頁面級別執行此操作並訪問全景圖的屬性。應該不需要在panoramaItem中託管的控件中執行任何操作,無論它們是否是用戶控件。

如果你想避免改變defaultItem的副作用,你可能想看看http://blogs.ugidotnet.org/corrado/archive/2010/09/27/smartpanorama-a-panorama-control-extension.aspx

+0

謝謝。非常方便的提示。使用DefaultItem引起的有趣問題!你會認爲他們會在SelectedItem屬性中建立一個設置方法! – NER1808 2010-12-13 11:27:33