1


1

DataTemplateのすべてのインスタンス、またはDataTemplate内のコントロールを追跡するにはどうすればよいですか?

DataTemplateを使用して、ViewModelにビューを適用しています。 ビューの1つのインスタンス(DataTemplate)で特定のことが発生した場合、他のすべてのインスタンスでアクションを実行する必要がある場合があります。

DataTemplateのコントロールの1つにInitializedイベントを実装し、そのイベントを使用してコントロールへの参照をコードビハインドのリストに追加することで、これをすでに達成しています。 (リソースディクショナリ内の)DataTemplateにはコードビハインドが1つしかないため、これは機能しています。それらはすべて同じリストにアクセスできます。

ただし、DataTemplateのインスタンスが作成および破棄されるため、少し心配です。 不要になったDataTemplateの古いインスタンスへの余分な参照を保持していませんか? それらをクリーンアップする方法はありますか? 対応するイベントはありますか…​ 初期化の反対…​ コントロールまたはDataTemplateがなくなったとき?

1 Answer


0


ViewModelでこの相互作用を直接モデル化することは可能でしょうか? おそらく、データバインドされているアイテムのプロパティまたはイベントを使用していますか? このように、ビューはイベントの動作/プレゼンテーションを決定するだけです。