Cómo: Utilizar desencadenadores para aplicar un estilo a los elementos seleccionados en un control ListView

Este ejemplo muestra como definir Triggers para un control ListViewItem de modo que, cuando cambia un valor de propiedad de ListViewItem, cambie a su vez el Style de ListViewItem.

Ejemplo

Si desea que el Style de ListViewItem cambie en respuesta a los cambios de propiedad, defina Triggers para el cambio Style.

En el ejemplo siguiente se define un Trigger objeto que establece la Foreground propiedad Blue en y cambia para Cursor mostrar cuando Hand la propiedad IsMouseOver cambia a true.

<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>

En el ejemplo siguiente se define un objeto MultiTrigger que establece la propiedad Foreground de ListViewItem en Yellow cuando ListViewItem es el elemento seleccionado y tiene el foco del teclado.

<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>

Vea también