ListView WPF,GridViewColumn中不同项的不同背景颜色
本文关键字:背景 颜色 WPF GridViewColumn ListView | 更新日期: 2023-09-27 18:19:36
我在实现GridViewColumn的ListView中显示应该具有不同背景颜色的不同元素时遇到问题。
我看到了这篇文章,它看起来真的很有用:列表框项目WPF,不同项目的不同背景颜色
但我真的不知道如何在我的代码中实现这一点,因为绑定是在GridView:中进行的
<ListView x:Name="ListBoxSelectedPlaylist" ItemsSource="{Binding Path=SelectedPlaylist.PlayableElements}" Grid.Row="1">
<ListView.Resources>
<ContextMenu x:Key="ContextMenu">
<MenuItem Header="Delete item(s)" Click="ListBoxSelectedPlaylist_MenuItemDeleteItems_Click" />
</ContextMenu>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="ContextMenu" Value="{StaticResource ContextMenu}"/>
</Style>
</ListView.Resources>
<ListView.View>
<GridView>
<GridViewColumn Header="State" DisplayMemberBinding="{Binding ElementPlayingState}" />
<GridViewColumn Header="Extension" DisplayMemberBinding="{Binding Extension}" />
<GridViewColumn Header="Filename" DisplayMemberBinding="{Binding Filename}" />
<GridViewColumn Header="Src" DisplayMemberBinding="{Binding Src}" />
</GridView>
</ListView.View>
</ListView>
你有解决方案吗?
如果您想更改行的背景,那么您可以实现一种定义DataTrigger的样式。例如:
<Style TargetType="{x:Type ListViewItem}">
<Style.Triggers>
<DataTrigger
Binding="{Binding YourProperty}"
Value="SomeValue">
<Setter Property="BorderBrush" Value="Red"/>
<Setter Property="Background" Value="AliceBlue"/>
</DataTrigger>
</Style.Triggers>
</Style>
如果更改背景的逻辑取决于各种绑定属性,则建议您使用IMultiValueConverter
。