Procedura: utilizzare i trigger per applicare uno stile agli elementi selezionati in un controllo ListView

In questo esempio viene illustrato come definire Triggers per un ListViewItem controllo in modo che, quando viene modificato un valore di ListViewItem una proprietà, l'oggetto StyleListViewItem delle modifiche in risposta.

Esempio

Se si desidera che l'oggetto Style di un ListViewItem oggetto venga modificato in risposta alle modifiche alle proprietà, definire Triggers per la Style modifica.

Nell'esempio seguente viene definito un Trigger oggetto che imposta la Foreground proprietà su Blue e viene modificato per visualizzare un Hand oggetto Cursor quando la IsMouseOver proprietà viene modificata in 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>

Nell'esempio seguente viene definito un MultiTrigger oggetto che imposta la Foreground proprietà di un ListViewItem oggetto su Yellow quando è ListViewItem l'elemento selezionato e ha lo stato attivo della tastiera.

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

Vedi anche