WinRT XAML を使用しています。
B
依存関係プロパティを持つカスタム コントロールがItems
あり、そのコントロールは別のコントロールのテンプレートにあります。PropertMetadata
依存関係プロパティは、型を使用して新しい空のコレクションに初期化されます。データにバインドされることはありません - 覚えておいてください。
ページに入ると、コントロールは別のカスタム コントロールのテンプレートの一部としてインスタンス化されますA
。のコンストラクターのブレークポイントから、B
の値を確認するとItems
、項目が 0 個含まれています。
他のアクティビティの一部として、データを挿入するA
呼び出しを「手動で」制御します。B.Items.Add()
データバインディングはありません。
逆方向に移動してからクリックしてページに再度移動すると、コンストラクターが再び起動されますが、今回Items
はまだ追加された値が残っていますA
。それはその価値を保持します。
そのため、コントロールがアンロードおよびロードされても (イベントを確認できます)、コントロールと依存関係プロパティは再初期化されません。
これは正しいです?