题
我在列表控件中有很多项。我希望每个项目都有不同的项目模板,具体取决于项目的类型。因此列表中的第一项是ObjectA类型,因此我希望它使用ItemTemplateA进行渲染。第二项是ObjectB类型,所以我希望它有ItemTemplateB进行渲染。目前我只能使用ItemTemplate设置为它们定义一个模板。有没有办法实现这个目标?
解决方案
ItemTemplateSelector
将起作用,但我认为在资源部分创建多个 DataTemplate
然后给每个 DataType
。如果items生成器检测到匹配的数据类型,这将自动使用此 DataTemplate
?
<DataTemplate DataType={x:Type local:ObjectA}>
...
</DataTemplate>
还要确保没有为 DataTemplate
设置 x:Key
。
了解有关此方法的更多信息,请此处
不隶属于 StackOverflow