Como criar um estilo para o cabeçalho de coluna arrastada do GridView
Este exemplo mostra como alterar a aparência de um GridViewColumnHeader arrastado quando o usuário altera a posição de uma coluna.
Exemplo
Quando se arrasta um cabeçalho de coluna para outra localização num ListView que utiliza GridView para o seu modo de visualização, a coluna é movida para a nova posição. Enquanto você arrasta o cabeçalho da coluna, uma cópia flutuante do cabeçalho aparece além do cabeçalho original. Um cabeçalho de coluna em um GridView é representado por um objeto GridViewColumnHeader.
Para personalizar a aparência dos cabeçalhos flutuantes e originais, você pode definir Triggers para modificar o GridViewColumnHeaderStyle. Esses Triggers são aplicados quando o valor da propriedade IsPressed é true
e o valor da propriedade Role é Floating.
Quando o usuário pressiona o botão do mouse e o mantém pressionado enquanto o mouse pausa na GridViewColumnHeader, o valor da propriedade IsPressed muda para true
. Da mesma forma, quando o usuário inicia a operação de arrastar, a propriedade Role muda para Floating.
O exemplo a seguir mostra como definir Triggers para alterar as cores Foreground e Background dos cabeçalhos originais e flutuantes quando o usuário arrasta uma coluna para uma nova posição.
<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>
Ver também
.NET Desktop feedback