バインドされたコレクションのどのアイテムを表示するかを実行時に選択したいという意味で、カスタマイズ可能な ListBox を作成したいと考えています。何かのようなもの:
<CustomizedListBox Format="[Name][Age]"/>
For ループで適切にコンテンツを生成できる ItemTemplateSelector があります。しかし、ここでの話は、リストのさまざまな部分の DataTemplates を XAML で事前に定義し、それらを ItemTemplateSelector で結合したいということです。だから私の目標は、これらの定義を持つことです:
<DataTemplate x:Key="Name">
<TextBlock Text="{Binding Name, StringFormat='Name: {0}'}"/>
</DataTemplate>
<DataTemplate x:Key="Age">
<TextBlock Text="{Binding Age}" HorizontalAlignment="Right"/>
</DataTemplate>
そして、それらをプログラムで結合します。
私の問題は、XAML で生成されたデータ テンプレートの VisualTree が Null であることです。どうやら、WPF は「別のメカニズムを使用している」ようです。また、テンプレートをまだインスタンス化したくないため、LoadContent を使用できません。
私が望んでいることはまったく可能ですか?