Condividi tramite


Procedura: creare uno stile per un'intestazione di colonna GridView trascinata

Aggiornamento: novembre 2007

In questo esempio viene illustrato come modificare l'aspetto di una classe GridViewColumnHeader trascinata quando l'utente modifica la posizione di una colonna.

Esempio

Quando si trascina un'intestazione di colonna in un altro percorso in una classe ListView che utilizza GridView per la modalità di visualizzazione, la colonna si sposta nella nuova posizione. Mentre si trascina l'intestazione di colonna, oltre all'intestazione originale viene visualizzata una copia mobile dell'intestazione. Un'intestazione di colonna in un oggetto GridView è rappresentata da un oggetto GridViewColumnHeader.

Per personalizzare l'aspetto delle intestazioni originali e mobili, è possibile impostare la proprietà Triggers per modificare la classe Style di GridViewColumnHeader. Le proprietà Triggers vengono applicate quando il valore della proprietà IsPressed è true e il valore della proprietà Role è Floating.

Quando l'utente tiene premuto il pulsante del mouse con il mouse posizionato sull'oggetto GridViewColumnHeader, il valore della proprietà IsPressed viene modificato in true. Allo stesso modo, quando l'utente inizia l'operazione di trascinamento, la proprietà Role viene modificata in Floating.

Nell'esempio riportato di seguito viene illustrato come impostare Triggers per modificare i colori delle proprietà Foreground e Background delle intestazioni originali e mobili quando l'utente trascina una colonna in una nuova posizione.

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

Per l'esempio completo, vedere Esempio di ListView con intestazione mobile personalizzata.

Vedere anche

Concetti

Panoramica sul controllo ListView

Cenni preliminari su GridView

Riferimenti

GridViewColumnHeader

GridViewColumnHeaderRole

ListView

GridView

Altre risorse

Procedure relative al controllo ListView

Esempi di ListView