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