Gör så här: Skapa ett format för en dragen GridView-kolumnrubrik

Det här exemplet visar hur du ändrar utseendet på en dragen GridViewColumnHeader när användaren ändrar positionen för en kolumn.

Exempel

När du drar en kolumnrubrik till en annan plats i en ListView som använder GridView för visningsläget flyttas kolumnen till den nya positionen. När du drar kolumnrubriken visas en flytande kopia av rubriken utöver det ursprungliga huvudet. En kolumnrubrik i en GridView representeras av ett GridViewColumnHeader objekt.

Om du vill anpassa utseendet på både flytande och ursprungliga rubriker kan du ange Triggers för att ändra GridViewColumnHeaderStyle. Dessa Triggers tillämpas när IsPressed egenskapsvärdet är true och Role egenskapsvärdet är Floating.

När användaren trycker på musknappen och håller ned den medan musen pausar på GridViewColumnHeaderändras egenskapsvärdet för IsPressed till true. På samma sätt ändras egenskapen Role till Floatingnär användaren påbörjar dragåtgärden.

I följande exempel visas hur du ställer in Triggers för att ändra Foreground och Background färger för de ursprungliga och flytande rubrikerna när användaren drar en kolumn till en ny position.

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

Se även