WPF 和 MVVM 相当新,我正在尝试将 ContentTemplate(或 ItemTemplate,两者都没有工作)绑定到 C# WPF 程序中的 DataTemplate 属性。我这样做是因为我有一个配置文件,它为每个“条目”定义了不同的“条目显示类型”,以便不必制作无数的视图/视图模型(现在,只有一个通用条目视图模型可以跟踪标签,数据和显示类型,我更愿意保持这种方式以避免不必要的类结构膨胀)。有什么办法可以使这项工作?
这是我尝试过的其中一件事的示例:
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>
当我用它运行时,什么都没有出现。但是,如果我将资源数据模板的内容直接放在内容控件的位置上,一切都会显示得很好(除了它不是我想要的数据驱动方式)。任何帮助/建议将不胜感激。谢谢!