如何根据ListViewItem的某些属性创建背景突出显示颜色?
答案 0 :(得分:2)
这是人们经常要求的问题。实际上,由于某些原因,在ListView或ListBox中选择项目时,背景颜色不是更改的颜色。这有点棘手。实际上,您需要覆盖项模板绑定的静态颜色资源的值。因此,要更改您必须执行的项目的高亮颜色,如下所示:
<ListView>
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Orange"/>
</Style.Resources>
</Style>
</ListView.ItemContainerStyle>
</List>
以下是更为发达的解释:Trigger for ListBoxItem
答案 1 :(得分:0)
修改强>
要更改所选背景,您必须覆盖ListViewItem的模板。
看到这个...... http://msdn.microsoft.com/en-us/library/ms788717(v=vs.90).aspx。
将{StaticResource SelectedBackgroundBrush}
替换为模板中首选的背景画笔。
要根据控件模板不依赖的任何其他属性更改背景,您可以使用触发器......
<ListView ...>
<ListView.Resources>
<Style TargetType="{x:Type ListViewItem}">
<Style.Triggers>
<Trigger Property="SomeListViewItemProperty" Value="Value1">
<Setter Property="Background" Value="Red" />
</Trigger>
<Trigger Property="SomeListViewItemProperty" Value="Value2">
<Setter Property="Background" Value="Yellow" />
</Trigger>
</Style.Triggers>
</Style>
<ListView.Resources>
</ListView>
我希望这能回答你的问题。