Практическое руководство. Применение триггеров для определения стиля выбранных элементов в ListView
Обновлен: Ноябрь 2007
В этом примере показано определение Triggers для элемента управления ListViewItem, чтобы при изменении значения свойства ListViewItemStyle для ListViewItem также изменится.
Пример
Если требуется, чтобы Style для ListViewItem изменялся в ответ на изменение свойств, определите Triggers для изменения Style.
В следующем примере определяется Trigger, который устанавливает свойство Foreground в значение Blue и изменяет Cursor для отображения Hand, когда значение свойства IsMouseOver изменится на 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>
В следующем примере определяется MultiTrigger, который устанавливает свойство Foreground для ListViewItem в значение Yellow, когда ListViewItem является выбранным элементом и имеет фокус ввода.
<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>
Полный пример см. в разделе Пример ListView со стилизованными ListViewItem.
См. также
Основные понятия
Общие сведения об элементе управления ListView