我的問題很簡單:什麼時候(什麼事件?)我可以確定一個控件已完全加載並且其狀態和模板也是?
WP7控件:從墓碑恢復後何時設置VisualState?
爲什麼我問:
我試圖從墓碑恢復後恢復我自己的WP7控制的狀態。這個控件在周視圖中看起來像一個日曆。在此日曆中,您可以選擇許多顯示爲彩色矩形的項目。
如果我選擇它們中的任何一個,然後進入墓碑並返回頁面,似乎我的控件忘記了哪個Rectangles
被選中。事實上,它並沒有忘記數據本身,但Rectangles
忘記了他們的選擇狀態。
從墓碑中恢復後,我嘗試通過將其VisualState
設置爲「Selected」(可在任何其他場景中使用)來選擇Rectangles
。我發現,它失敗了,因爲VisualStateManager
找不到"Selected"
狀態。
我知道這很棘手,因爲從邏輯刪除回來時,控件並不像任何「正常」情況那樣精確構建。 (例如Bindings
和Templates
不適用於相同的順序)但直到現在,我總是可以相信,當FrameworkElement.Loaded
解僱時,我已經準備好了我的控制。現在好像VisualState
不是。 (我試圖設置從Loaded
事件處理程序的狀態,但結果相同,VisualStateManager.GoToState
返回false
。)
我還能做什麼?
哈!太感謝了! 自從昨天起,我的控件結構發生了變化,但該方法正常工作! :) 再次感謝! – Tenshiko 2012-03-23 09:41:44