Jak użyć wyzwalaczy, aby nadać styl zaznaczonym elementom w ListView

W tym przykładzie pokazano, jak zdefiniować Triggers kontrolkę ListViewItem tak, ListViewItemStyle aby w przypadku zmiany wartości ListViewItem właściwości zmiany.

Przykład

Jeśli chcesz StyleListViewItem , aby obiekt zmieniał się w odpowiedzi na zmiany właściwości, zdefiniuj Triggers zmianę Style .

W poniższym przykładzie zdefiniowano właściwość Trigger , która ustawia Foreground właściwość na Blue i zmienia Cursor wartość , aby wyświetlić Hand właściwość , gdy IsMouseOver właściwość zmieni się na 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>

W poniższym przykładzie zdefiniowano obiekt MultiTrigger , który ustawia Foreground właściwość elementu ListViewItem na Yellow , gdy ListViewItem element jest zaznaczony i ma fokus klawiatury.

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

Zobacz też