ItemTemplateSelector 和 ListView.ItemTemplate 的区别

Posted

技术标签:

【中文标题】ItemTemplateSelector 和 ListView.ItemTemplate 的区别【英文标题】:Difference between ItemTemplateSelector and ListView.ItemTemplate 【发布时间】:2021-07-25 10:37:15 【问题描述】:

我的目标是显示不同项目的列表,所以我选择了ListView。但是阅读here 我看到使用ItemControlItemTemplateSelector 我可以根据视图模型选择我想要显示的方式。这就是我要的。但我也想显示这些项目的列表。那么如何组合ItemControl.ItemTemplateSelectorListView.ItemTemplate

【问题讨论】:

【参考方案1】:

您不要同时使用ItemTemplateItemTemplateSelector

ItemTemplateSelector 应该为 Items 集合中的每个元素返回一个 DataTemplate,这使得 ItemTemplate 无用。

请参阅文档中的示例:https://docs.microsoft.com/en-us/dotnet/api/system.windows.controls.itemscontrol.itemtemplateselector?view=net-5.0#examples。

【讨论】:

以上是关于ItemTemplateSelector 和 ListView.ItemTemplate 的区别的主要内容,如果未能解决你的问题,请参考以下文章

ItemTemplateSelector

csharp 【执笔中】コレクション内のデータに応じて的DataTemplateを切り替えたい场合にItemTemplateSelectorを使ってみる。

ItemContainerStyleSelector

UWP 树视图崩溃

XAML:在组合框项目突出显示上显示按钮

wpf ListView DataTemplate方式的鼠标悬停和选中更改背景色