This documentation is archived and is not being maintained.

GridViewColumnHeader.Role Property

Gets the role of a GridViewColumnHeader. This is a dependency property.

Namespace:  System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)

public GridViewColumnHeaderRole Role { get; }
You cannot set this property in XAML.

Property Value

Type: System.Windows.Controls.GridViewColumnHeaderRole
A GridViewColumnHeaderRole enumeration value that specifies the current role of the column.

Identifier field

RoleProperty

Metadata properties set to true

None

The GridViewHeaderRowPresenter class performs layout for the column headers in a GridView and places an additional column header at the end to add space. A Role value of Padding identifies this column header in the GridView. A Role value of Floating identifies a column that is currently the object of a drag-and-drop operation.

For an example of how to change the style of a GridViewColumnHeader when it is the object of a drag-and-drop operation, see the ListView with Custom Floating Header Sample.

This example shows how to change the appearance of a dragged GridViewColumnHeader when the user changes the position of a column.

When you drag a column header to another location in a ListView that uses GridView for its view mode, the column moves to the new position. While you are dragging the column header, a floating copy of the header appears in addition to the original header. A column header in a GridView is represented by a GridViewColumnHeader object.

To customize the appearance of both the floating and original headers, you can set Triggers to modify the GridViewColumnHeader Style. These Triggers are applied when the IsPressed property value is true and the Role property value is Floating.

When the user presses the mouse button and holds it down while the mouse pauses on the GridViewColumnHeader, the IsPressed property value changes to true. Likewise, when the user begins the drag operation, the Role property changes to Floating.

The following example shows how to set Triggers to change the Foreground and Background colors of the original and floating headers when the user drags a column to a new 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>

For the complete sample, see ListView with Custom Floating Header Sample.

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0
Show: