我无法在实现GridViewColumn的ListView中显示应具有不同背景颜色的不同元素。
我看过这篇文章似乎非常有用:Listbox item WPF, different background color for different items
但是我真的不知道如何在我的代码中实现它,因为绑定是在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>
你有解决方案吗?
答案 0 :(得分:1)
如果要更改行的背景,则可以实现定义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
。