我有一些ListView
绑定到 ViewModel 中的集合。这些集合中的项目类型是相同的(我们称它们为TypeA
),这是一个公开多个简单类型属性的类。我想将它们显示GridView
在ListView
. 自然,我想为此定义一个DataTemplate
,TypeA
这样我就不必为每个ListView
' 复制相同的 XAML。到目前为止,我发现的所有示例都定义ItemTemplate
了ListView
. 如何创建资源并让不同ListView
的 ' 引用这个单一资源?
更新:
我发布了我的 XAML 代码以进行更好的说明。我的原始 XAML 代码(简化)如下所示:
<ListView ItemsSource="{Binding MYCOLLECTION}" SelectionMode="Extended" >
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Prop1}" >
<GridViewColumn.Header>
<Border >
<TextBlock Text="Prop1" />
</Border>
</GridViewColumn.Header>
</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Prop2}" >
<GridViewColumn.Header>
<Border >
<TextBlock Text="Prop2" />
</Border>
</GridViewColumn.Header>
</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Prop3}" >
<GridViewColumn.Header>
<Border >
<TextBlock Text="Prop3" />
</Border>
</GridViewColumn.Header>
</GridViewColumn>
...
</GridView>
</ListView.View>
</ListView>
我为标题设置了许多依赖项属性,这就是为什么我放置单个标题项以及为什么我的代码真的很长的原因——因此我寻求使用数据模板。
所以我的想法是,我可以在不同的 's 中以相同的方式显示相同类型的不同选择GridView
(因为我们希望列标题显示属性的名称,所以我们使用GridView
)。
顺便说一句,这些不是我展示这种数据类型的唯一地方,所以我肯定需要指定一个 Resource 键并将其限制为仅用于 GridView。而且因为我想以 Grid 方式显示,所以我假设无法DataTemplate
为我的类型定义 a 并将其用作ItemTemplate
a ListView
。