Condividi tramite


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

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

Esempio

Quando si trascina un'intestazione di colonna in un'altra posizione in un ListView oggetto che utilizza GridView per la modalità di visualizzazione, la colonna passa alla nuova posizione. Durante il trascinamento dell'intestazione di colonna, viene visualizzata una copia mobile dell'intestazione oltre all'intestazione originale. Un'intestazione di colonna in un GridView oggetto è rappresentata da un GridViewColumnHeader oggetto .

Per personalizzare l'aspetto delle intestazioni mobili e originali, è possibile impostare Triggers per modificare .GridViewColumnHeaderStyle Questi Triggers vengono applicati quando il valore della IsPressed proprietà è true e il valore della Role proprietà è Floating.

Quando l'utente preme il pulsante del mouse e lo tiene premuto mentre il mouse si sospende su GridViewColumnHeader, il valore della IsPressed proprietà cambia in true. Analogamente, quando l'utente avvia l'operazione di trascinamento, la Role proprietà viene modificata in Floating.

Nell'esempio seguente viene illustrato come impostare Triggers per modificare i Foreground colori 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>

Vedi anche