Anvisningar: Använda utlösare för att formatera markerade objekt i en ListView

Det här exemplet visar hur du definierar Triggers för en ListViewItem kontroll så att när ett egenskapsvärde för en ListViewItem ändras ändras Style för ListViewItem som svar.

Exempel

Om du vill att Style för en ListViewItem ska ändras som svar på egenskapsändringar definierar du Triggers för den Style ändringen.

I följande exempel definieras en Trigger som anger egenskapen Foreground till Blue och ändrar Cursor för att visa en Hand när egenskapen IsMouseOver ändras till 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>

I följande exempel definieras en MultiTrigger som anger egenskapen Foreground för en ListViewItem till Yellow när ListViewItem är det markerade objektet och har tangentbordsfokus.

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

Se även