答える前に:この質問は、WPF のListView
コントロール (とGridView
) に関するものです。これは、WPF のコントロール、ASP.NETまたはコントロール、または WinFormまたはコントロールに関するものではありません。それらはすべて非常に似ているように聞こえ、しばしば混同されますが、間違ったタイプのコントロールに対する回答は私にとって役に立たず、さらに重要なことに、あなたが回答を書くのに費やした時間の無駄であり、無駄にすべきではないと私は信じています.DataGrid
DataGrid
ListView
DataGridView
ListView
ビューモデルのプロパティにバインドされたいくつかの列を持つコントロールListView
があります。(インラインまたはリソースを介して) を指定することで、 のセルのGridView
外観を簡単にカスタマイズできます。GridViewColumn
CellTemplate
これで、ビューモデルに特定のプロパティがあります。その型は抽象基本クラスであり、その値はいくつかの派生型のいずれかになります。各派生型はDataTemplate
、セル内で異なる必要があります。幸いなことに、私が望んでいることを正確に行う がありますが、配管コードを書く必要がありますGridViewColumn
。CellTemplateSelector
しかし、そのページを見ると、次のように書かれDataTemplateSelector
ています。
異なる型のオブジェクトがある場合は、DataTemplate で DataType プロパティを設定できることに注意してください。その場合、DataTemplateSelector を作成する必要はありません。[...] 詳細については、「データ テンプレートの概要」を参照してください。
万歳!配管コードを書く必要はありません。私のタイプは違うので、これは完璧にフィットするようです. しかし、残念ながら、データバインドされた列の 1 つの特定の派生型 ( を使用してバインド) に一致する a で a を定義した後でも、効果はDataTemplate
ありませんでした。DataType
GridViewColumn
DisplayMemberBinding
私DataTemplate
のGridView
. -targetedは単に と互換性がありDataType
ませんか? それらを使用する方法はありますか、または指定する必要がありますか? 's内に複数の s を指定して、プロパティが効果を持つようにする方法があるのではないでしょうか?DataTemplates
GridView
CellTemplateSelector
DataTemplate
GridViewColumn
CellTemplate
DataType