在Windows 8 CP中为选定的ListViewItem设置样式

t4n*_*nky 9 c# xaml microsoft-metro windows-8

我想在下面链接的图片中更改所选项目的边框的外观.

在此输入图像描述

我已经在msdn.com和互联网上四处寻找,但我发现没什么用处.

我怎样才能做到这一点?

Joh*_*wen 16

选择外观是ListViewItem的ControlTemplate的一部分.要修改整个ListView的模板,请使用ItemContainerStyle将Style应用于每个项目,该项目可以包含模板的修改版本.

<ListView>
  <ListView.ItemContainerStyle>
    <Style TargetType="ListViewItem">
      <Setter Property="Template">
        <Setter.Value>
          <ControlTemplate TargetType="ListViewItem">
            ...
          </ControlTemplate>
        </Setter.Value>
      </Setter>
    </Style>
  </ListView.ItemContainerStyle>
</ListView>
Run Code Online (Sandbox Code Playgroud)

ListViewItem的默认模板非常复杂,因此为了保留尽可能多的默认行为并为您提供一个良好的起点,最简单的方法是使用Blend为您创建副本.

在Blend中,右键单击ListView并选择:

编辑其他模板 - >编辑生成的项目容器 - >编辑副本...

它将在上面的表单中为您创建一个样式,并填入默认模板.选择外观使用模板中您可能想要修改的几个不同元素 - 通过在"状态"面板中选择"选定"状态可以看到这些元素.在"混合"和"钻取""对象"面板中突出显示的项目中.