Freigeben über


Gewusst wie: Erstellen eines Stils für einen gezogenen GridView-Spaltenheader

Aktualisiert: November 2007

In diesem Beispiel wird erläutert, wie Sie die Darstellung eines gezogenen GridViewColumnHeader ändern, wenn der Benutzer die Position einer Spalte ändert.

Beispiel

Wenn Sie einen Spaltenheader in einer ListView im GridView-Ansichtmodus an eine neue Position ziehen, wird die Spalte an die neue Position verschoben. Beim Ziehen des Spaltenheaders wird zusätzlich zum ursprünglichen Header eine unverankerte Kopie des Headers angezeigt. Ein Spaltenheader in einem GridView wird durch ein GridViewColumnHeader-Objekt dargestellt.

Um die Darstellung des unverankerten und des ursprünglichen Headers anzupassen, können Sie Triggers zum Ändern des GridViewColumnHeader Style festlegen. Diese Triggers werden angewendet, wenn der IsPressed-Eigenschaftenwert true und der Role-Eigenschaftenwert Floating ist.

Wenn der Benutzer die Maustaste gedrückt hält, während sich der Mauszeiger über dem GridViewColumnHeader befindet, wird der IsPressed-Eigenschaftenwert auf true geändert. Wenn der Benutzer den Ziehvorgang startet, wird die Role-Eigenschaft entsprechend auf Floating geändert.

Im folgenden Beispiel wird erläutert, wie Sie Triggers so festlegen, dass die Farben für Foreground und Background des ursprünglichen und unverankerten Headers geändert werden, wenn der Benutzer eine Spalte an eine neue Position zieht.

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

Das vollständige Beispiel finden Sie unter Beispiel für ein ListView mit benutzerdefiniertem unverankertem Header.

Siehe auch

Konzepte

Übersicht über ListView

Übersicht über GridView

Referenz

GridViewColumnHeader

GridViewColumnHeaderRole

ListView

GridView

Weitere Ressourcen

Gewusst-wie-Themen zu ListView

ListView-Beispiele