C# 在Windows 8 CP中设置选定ListViewItem的样式
我想更改下面链接的图片中所选项目边框的外观 我已经在msdn.com和互联网上搜索过了,但是我没有发现任何有用的东西C# 在Windows 8 CP中设置选定ListViewItem的样式,c#,xaml,windows-8,microsoft-metro,C#,Xaml,Windows 8,Microsoft Metro,我想更改下面链接的图片中所选项目边框的外观 我已经在msdn.com和互联网上搜索过了,但是我没有发现任何有用的东西 如何执行此操作?选择外观是ListViewItem的ControlTemplate的一部分。要修改整个ListView的模板,请使用ItemContainerStyle将样式应用于每个项目,其中可以包含模板的修改版本 <ListView> <ListView.ItemContainerStyle> <Style TargetType="
如何执行此操作?选择外观是ListViewItem的ControlTemplate的一部分。要修改整个ListView的模板,请使用ItemContainerStyle将样式应用于每个项目,其中可以包含模板的修改版本
<ListView>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListViewItem">
...
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListView.ItemContainerStyle>
</ListView>
...
ListViewItem的默认模板非常复杂,因此为了尽可能多地保留默认行为并为您提供一个良好的起点,使用Blend为您创建副本是最简单的
在“混合”中,右键单击ListView并选择:
编辑其他模板->编辑生成的项目容器->编辑副本…
它将在上面的表单中为您创建一个样式,并填充默认模板。“选择”外观在模板中使用了一些您可能需要修改的不同元素-可以通过在“混合”中的“状态”面板中选择“选定状态”并钻取到“对象”面板中高亮显示的项目来查看这些元素。我找到了另一种可能对其他人有用的解决方案:覆盖特定笔刷资源在
App.xaml
中。它可以在不克隆任何默认样式的情况下工作,并且非常简单:
<SolidColorBrush x:Key="ListViewItemSelectedBackgroundThemeBrush" Color="myColor1"/>
<SolidColorBrush x:Key="ListViewItemPointerOverBackgroundThemeBrush" Color="myColor2"/>
当然,还有更多的灌木丛可以覆盖,可以在此处找到它们的列表:
请注意,此方法会更改应用程序中所有ListView的外观。您使用的是WPF还是Metro XAML应用程序?它们是完全独立的框架,但是你把它们都标记了出来。谢谢,这正是我想要的。我总是忘记我有Blend for Visual Studio来帮助处理这些东西。