방법: 끌어 온 GridView 열 머리글의 스타일 만들기

이 예제에서는 사용자가 열의 위치를 변경할 때 끌어 온 GridViewColumnHeader의 모양을 변경하는 방법을 보여 줍니다.

예제

열 머리글을 뷰 모드에 GridView를 사용하는 ListView에서 다른 위치로 끌면 열이 새 위치로 이동합니다. 열 머리글을 끌 때 원래 머리글 외에도 머리글의 부동 복사본이 나타납니다. GridView의 열 머리글은 GridViewColumnHeader 개체로 표시됩니다.

부동 헤더와 원래 머리글의 모양을 모두 사용자 지정하려면 GridViewColumnHeaderStyle을 수정하도록 Triggers를 설정할 수 있습니다. IsPressed 속성 값이 true이고 Role 속성 값이 Floating인 경우에 Triggers가 적용됩니다.

사용자가 GridViewColumnHeader에서 일시 중지된 동안 마우스 단추를 누르고 있으면 IsPressed 속성 값이 true로 변경됩니다. 마찬가지로 사용자가 끌기 작업을 시작하면 Role 속성이 Floating으로 변경됩니다.

다음 예제에서는 사용자가 열을 새 위치로 끌 때 원래 머리글과 부동 머리글의 TriggersForeground 색을 변경하도록 Background를 설정하는 방법을 보여 줍니다.

<ControlTemplate TargetType="{x:Type GridViewColumnHeader}">
<ControlTemplate.Triggers>
<Trigger Property="IsPressed"
         Value="true">
  <Setter TargetName="HighlightBorder"
          Property="Visibility"
          Value="Hidden"/>
  <Setter TargetName="PART_HeaderGripper"
          Property="Visibility"
          Value="Hidden"/>
  <Setter Property="Background"
          Value="SkyBlue"/>
  <Setter Property="Foreground"
          Value="Yellow"/>
</Trigger>
<Trigger Property="Role"
         Value="Floating">
  <Setter TargetName="PART_HeaderGripper"
          Property="Visibility"
          Value="Collapsed"/>
  <Setter Property="Background"
          Value="Yellow"/>
  <Setter Property="Foreground"
          Value="SkyBlue"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>

참고 항목