XAML模板数据
本文关键字:数据 XAML | 更新日期: 2023-09-27 18:14:33
我有一个ListView
填充了三种不同类型的项目。当我在ListView
中选择ListViewItem
时,我想在为所选项目的类型专门设计的模板中显示数据。
数据显示在与ListView
相同的Grid
中的不同列中。
我的问题是,我应该使用什么元素来创建新的模板来显示所选项目的数据
我希望有可能在Grid
上设置一种ItemTemplate
属性,但事实并非如此。
<Grid
x:Name="ItemDetailsGrid"
DataContext="{Binding SelectedItem}"
ItemTemplate="{StaticResource {Binding SelectedItem.TemplateName}}">
</Grid>
正确的做法是什么?
我认为你需要一个ContentPresenter
<ContentPresenter
x:Name = "ItemDetailsGrid"
Content = "{Binding SelectedItem}">
<ContentPresenter.Resources>
<DataTemplate DateType="{x:Type Type1}">
<TextBlock Text="{Binding PropertyA}" />
</DataTemplate>
<DataTemplate DateType="{x:Type Type2}">
<TextBlock Text="{Binding PropertyB}" />
</DataTemplate>
</ContentPresenter>
将根据模板的类型选择合适的模板