WPF と MVVM は初めてで、ContentTemplate (または ItemTemplate、どちらも機能していません) を C# WPF プログラムの DataTemplate プロパティにバインドしようとしています。無数のビュー/ビューモデルを作成する必要がないように、「エントリ」ごとに異なる「エントリ表示タイプ」を定義する構成ファイルがあるため、これを行っています (現在、追跡する汎用エントリ ビューモデルは 1 つだけです)。クラス構造の不必要な膨張を避けるために、ラベル、データ、および表示タイプをそのままにしておくことをお勧めします)。これを機能させる方法はありますか?
これは私が試したことの1つの例です:
XAML:
<ItemsControl IsTabStop="False" ItemsSource="{Binding Path=FNEntries}"Margin="12,46,12,12">
<ItemsControl.ItemTemplate>
<DataTemplate>
<ContentControl ContentTemplate="{Binding Path=TypeView}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
CS ((DataTemplate)TypeView と (string)PropertyName を持つエントリ ビュー モデル クラス コンストラクター内):
NodeTypeView = (DataTemplate)Application.Current.FindResource("TypeTest");
リソース XAML:
<DataTemplate x:Key="TypeTest">
<TextBlock Margin="2,6">
<TextBlock Text="{Binding Path=PropertyName}" />
</TextBlock>
それを実行すると、何も表示されません。ただし、コンテンツ コントロールの代わりにリソース データ テンプレートのコンテンツを直接配置すると、問題なく表示されます (データ駆動型ではないことを除けば)。ヘルプ/アドバイスをいただければ幸いです。ありがとう!