WPF ListView使用ItemTemplate和GridViewColumn.这可能吗?
本文关键字:GridViewColumn ListView 使用 ItemTemplate WPF | 更新日期: 2023-09-27 18:16:25
我有一个要求,我有一个listview,它被绑定到一个集合使用GridViewColumn。但是我有一个需求,其中基于列中的某些选定值,我修改了listview的项模板。
意味着listview只有一行,项目模板应该被修改。有没有可能……
<Window x:Class="ListViewSample.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:ListViewSample"
Title="MainWindow" Height="350" Width="525"
>
<Window.Resources>
<local:ListViewConverter x:Key="listViewConverter"/>
<DataTemplate x:Key="doubleRowListViewItem">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Background="YellowGreen" Grid.Row="0" Grid.Column="0"/>
<TextBlock Background="GreenYellow" Grid.Row="1" Grid.Column="0" />
</Grid>
</DataTemplate>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<ListView Grid.Row="1" ItemsSource="{Binding Persons}" >
<ListView.View>
<GridView>
<GridViewColumn Header="Country" DisplayMemberBinding="{Binding Country}"/>
<GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}"/>
</GridView>
</ListView.View>
</ListView>
</Grid>
</Window>
在中,一旦国家的值被设置为一个特定的条目,项目模板应该相应地改变。项目模板应该设置为上面声明的数据模板。
有没有办法做到这一点?
谢谢。Sandeep
不确定你在寻找什么,但如果你想要一个视觉动态行,你可以放下DisplayMemberBinding
并使用CellTemplate。