C# WPF listview selecteditem样式
您能帮助我吗,默认情况下,wpf listview对所选项目具有这种样式 但我需要使它像这样的选定项目坚实的背景C# WPF listview selecteditem样式,c#,wpf,listview,C#,Wpf,Listview,您能帮助我吗,默认情况下,wpf listview对所选项目具有这种样式 但我需要使它像这样的选定项目坚实的背景 我怎样才能做到这一点 在Windows 7上,您可以覆盖系统颜色笔刷: <ListView> <ListView.Resources> <Style TargetType="ListViewItem"> <Style.Resources> <Sol
我怎样才能做到这一点 在Windows 7上,您可以覆盖系统颜色笔刷:
<ListView>
<ListView.Resources>
<Style TargetType="ListViewItem">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Blue"/>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="White"/>
</Style.Resources>
</Style>
</ListView.Resources>
...
</ListView>
...
在Windows 8及更高版本上,应覆盖ListViewItem
的控件模板,如下所述:
您可以通过
ControlTemplate
解决此问题。请看这里:
我在收件箱中收到了这个,它是我需要的。@mm8对不起,我第一次没有注意到它。非常感谢。奇怪的是,收件箱里有一个没有任何参考文献的链接,所以我不知道它在哪里。这能回答你的问题吗?
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Border x:Name="Bd"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
Padding="{TemplateBinding Padding}"
SnapsToDevicePixels="true">
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
</Border>
<ControlTemplate.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="Selector.IsSelectionActive"
Value="False" />
<Condition Property="IsSelected"
Value="True" />
</MultiTrigger.Conditions>
<Setter Property="Background"
TargetName="Bd"
Value="DarkOrange" />
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="Selector.IsSelectionActive"
Value="True" />
<Condition Property="IsSelected"
Value="True" />
</MultiTrigger.Conditions>
<Setter Property="Background"
TargetName="Bd"
Value="OrangeRed" />
</MultiTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>