Cómo: Crear un estilo para un encabezado de columna de GridView arrastrado
En este ejemplo se muestra cómo cambiar la apariencia de un control GridViewColumnHeader arrastrado cuando el usuario cambia la posición de una columna.
Ejemplo
Al arrastrar un encabezado de columna hacia otra ubicación en un control ListView que utiliza GridView para el modo de vista, la columna se mueve a la nueva posición. Mientras se arrastra el encabezado de columna, aparece una copia flotante de éste, además del encabezado original. Un encabezado de columna de un control GridView se representa mediante un objeto GridViewColumnHeader.
Para personalizar la apariencia de los encabezados flotante y original, puede establecer Triggers de modo que modifique el valor de Style correspondiente a GridViewColumnHeader. La propiedad Triggers se aplica cuando el valor de la propiedad IsPressed es true y el valor de la propiedad Role es Floating.
Cuando el usuario presiona el botón del mouse y lo mantiene presionado mientras el mouse se detiene en GridViewColumnHeader, el valor de la propiedad IsPressed cambia a true. Igualmente, cuando el usuario comienza la operación de arrastre, la propiedad Role cambia a Floating.
En el ejemplo siguiente se muestra cómo establecer Triggers para cambiar los colores de Foreground y Background de los encabezados original y flotante cuando el usuario arrastra una columna a una nueva posición.
<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>
Vea también
Referencia
Conceptos
Información general sobre ListView
Información general sobre GridView