ListViewコントロールのテンプレートを動的に列のデータを変更します。

需要があります:ListViewのためのコラム、コンテンツの表示は、異なるデータ要件は同じではありません。例えば、列はブール型の属性を結合した場合、ときに値がtrue、ボタンまたは他のコントロールを表示し、値がfalseの場合、画像を表示します。

この要求に応じて、溶液は、一般の2つの異なるデータテンプレートを作成することだと思います。

次いでDataTemplateSelector、出力するテンプレート選択テンプレートに応じて異なる値を作成します。

続いてリストビューで、あなたはCellTemplateSelectorのGridViewColumnのために割り当てることができます。

データは静的な表示である場合には、この方法を使用することで問題を解決することができます。しかし、問題は、プログラムが実行されている場合、CellTemplateSelectorを発見したセルの値が変更され、彼は値の変更をバインドされていなかったため、自動的にテンプレートを切り替え、もう動作しないということです。したがって、私のニーズのために、このテンプレートセレクタの道が満たされていない、別の方法を見つける必要があります。MSDNフォーラムで解決策を見つけるために、見つけるためのネットワークを通じ、核となるアイデアは、動的テンプレートを変更するには、データを通じてDatatriggerをトリガすることです。

最初のステップは、2つの異なるデータ・テンプレートを定義します。

ステップ2:現在のテンプレートのデータ型を定義し、次にContentControlにデータテンプレートに配置され、我々はデータを増やすことができ、異なる値に基づいてContentControlにContentTemplateプロパティの変更をトリガし、達成するためにContentControlにでスタイルの変更をトリガー必要があります。次のように(画像は、元のソースから取得されます)。

 

おすすめ

転載: www.cnblogs.com/chyshx/p/11330690.html