Sdílet prostřednictvím


Jak: Používat triggery pro stylování vybraných položek v ListView

Tento příklad ukazuje, jak definovat Triggers pro ovládací prvek ListViewItem tak, aby se při změně hodnoty vlastnosti ListViewItem změnil StyleListViewItem jako odezva.

Příklad

Pokud chcete, aby se StyleListViewItem změnila v reakci na změny vlastností, definujte Triggers pro změnu Style.

Následující příklad definuje Trigger, která nastaví vlastnost Foreground na Blue a změní Cursor tak, aby se při změně vlastnosti IsMouseOver na truezobrazila 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>

Následující příklad definuje MultiTrigger, který nastaví vlastnost Foreground objektu ListViewItem na hodnotu Yellow, pokud je vybraná položka ListViewItem a má fokus klávesnice.

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

Viz také