방법: ListView에서 트리거를 사용하여 선택한 항목의 스타일 지정

이 예제는 ListViewItemTriggers을 정의하여 ListViewItem의 속성 값이 변할 경우, 이에 대한 응답으로 ListViewItemStyle도 변하게 하는 방법을 보여줍니다.

예제

속성 변경에 따라 ListViewItemStyle이 변경되게 하려면 Style 변경에 대한 Triggers를 정의합니다.

다음 예제는 IsMouseOver 속성이 true로 바뀔 경우에 Foreground 속성을 Blue로 설정하고, Cursor를 변경하여 Hand를 표시하게 하는 Trigger를 정의합니다.

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

다음 예제는 ListViewItem가 선택된 항목이어서 키보드 초점이 있는 경우에 ListViewItemForeground 속성을 Yellow로 설정하는 MultiTrigger를 정의합니다.

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

참고 항목