リスト コントロール内に多くの項目があります。アイテムの種類に応じて、アイテムごとに異なるアイテム テンプレートを使用したいと考えています。したがって、リストの最初の項目は ObjectA タイプなので、ItemTemplateA でレンダリングする必要があります。2 番目の項目は ObjectB 型なので、レンダリング用に ItemTemplateB が必要です。現時点では、ItemTemplate 設定を使用して、それらすべてに対して 1 つのテンプレートを定義することしかできません。これを達成する方法はありますか?
Phil Wright
質問する
11973 次
2 に答える
15
これは機能しますが、リソース セクションに複数の を作成し、それぞれに を与えるItemTemplateSelector
方が簡単だと思います。アイテムジェネレーターが一致するデータ型を検出した場合、これは自動的にこれを使用しますか?DataTemplate
DataType
DataTemplate
<DataTemplate DataType={x:Type local:ObjectA}>
...
</DataTemplate>
x:Key
また、 が設定されていないことを確認してくださいDataTemplate
。
このアプローチの詳細については、こちらをご覧ください
于 2008-09-30T12:18:29.593 に答える
6
リスト コントロールのItemTemplateSelectorプロパティを見てください。カスタムの TemplateSelector をポイントして、コードで使用するテンプレートを決定できます。
TemplateSelector について説明しているブログ投稿は次のとおりです。
http://blogs.interknowlogy.com/johnbowen/archive/2007/06/21/20463.aspx
編集:これはより良い投稿です:
http://blog.paranoidferret.com/index.php/2008/07/16/wpf-tutorial-how-to-use-a-datatemplateselector/
于 2008-09-30T11:41:22.383 に答える