如何:使用触发器为 ListView 中的选定项设置样式

下面的示例演示如何为 ListViewItem 控件定义 Triggers,以便当 ListViewItem 的属性值发生变化时,ListViewItemStyle 可以相应地发生变化。

示例

如果您希望 ListViewItemStyle 会随属性的变化而相应地发生变化,请为 Style 变化定义 Triggers

下面的示例定义了一个 Trigger,该触发器可将 Foreground 属性设置为 Blue,并可以在 IsMouseOver 属性更改为 true 时更改 Cursor 以显示 Hand

<Style x:Key="MyContainer" TargetType="{x:Type ListViewItem}">

  <Setter Property="Margin" Value="0,1,0,0"/>
  <Setter Property="Height" Value="21"/>

  <Style.Triggers>


...


<Trigger Property="IsMouseOver" Value="true">
  <Setter Property="Foreground" Value="Blue" />
  <Setter Property="Cursor" Value="Hand"/>
</Trigger>


...


  </Style.Triggers>
</Style>

下面的示例定义了一个 MultiTrigger,当 ListViewItem 是所选项并获得键盘焦点时,该触发器会将 ListViewItemForeground 属性设置为 Yellow

<Style x:Key="MyContainer" TargetType="{x:Type ListViewItem}">

  <Setter Property="Margin" Value="0,1,0,0"/>
  <Setter Property="Height" Value="21"/>

  <Style.Triggers>


...


<MultiTrigger>
  <MultiTrigger.Conditions>
    <Condition Property="IsSelected" Value="true" />
    <Condition Property="Selector.IsSelectionActive" Value="true" />
  </MultiTrigger.Conditions>
  <Setter Property="Foreground" Value="Yellow" />
</MultiTrigger>


...


  </Style.Triggers>
</Style>

请参见

参考

Control

ListView

GridView

概念

ListView 概述

GridView 概述

其他资源

ListView 帮助主题