私の質問は単純です:いつ(どのイベントで?)コントロールが完全にロードされ、その状態とテンプレートもあることを確認できますか?
なぜ私は尋ねているのですか:
トゥームストーンから回復した後、自分のWP7コントロールの状態を復元しようとしています。このコントロールは、週単位のビューではカレンダーのように見えます。このカレンダーでは、色付きの長方形として表示される多くのアイテムを選択できます。
それらのいずれかを選択してから、トゥームストーンに移動してページに戻ると、コントロールRectangles
が選択されたものを忘れたようです。実際、データ自体を忘れていませんでしたRectangles
が、選択した状態を忘れていました。
トゥームストーンから回復した後、Rectangles
それらを「選択済み」に設定して選択しようとしますVisualState
(これは他のシナリオで機能します)。VisualStateManager
状態がわからないので失敗することがわかりました"Selected"
。
トゥームストーンから戻ったときにコントロールが「通常の」場合とまったく同じように構築されないため、これは注意が必要です。(たとえばBindings
、Templates
同じ順序で適用しないでください)しかし、これまで私は常に信頼FrameworkElement.Loaded
できました。解雇されたとき、私は自分のコントロールを準備していたのです。今はそうでVisualState
はないようです。Loaded
(イベントハンドラーから状態を設定しようとしましたが、結果は同じで、でVisualStateManager.GoToState
返されfalse
ます。)
これ以上何ができますか?