Partilhar via


Como: Usar gatilhos para estilizar itens selecionados em um ListView

Este exemplo mostra como definir Triggers para um controle ListViewItem para que, quando um valor de propriedade de um ListViewItem seja alterado, o Style do ListViewItem seja alterado em resposta.

Exemplo

Se quiser que o Style de um ListViewItem mude em resposta a alterações de propriedade, defina Triggers para a mudança Style.

O exemplo abaixo cria um Trigger que atribui a propriedade Foreground a Blue e altera Cursor para que exiba Hand quando a propriedade IsMouseOver mudar para 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>

O exemplo a seguir define um MultiTrigger que configura a propriedade Foreground de um ListViewItem como Yellow quando o ListViewItem é o item selecionado e tem o foco do 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>

Ver também