如何:使用触发器设置 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是选定项并具有键盘焦点时,这个MultiTrigger会设置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>

另请参阅