Sdílet prostřednictvím


Postupy: Vytvoření stylu pro přetahované záhlaví sloupce GridView

Tento příklad ukazuje, jak změnit vzhled přetažení GridViewColumnHeader , když uživatel změní pozici sloupce.

Příklad

Když přetáhnete záhlaví sloupce do jiného umístění, ListView které se používá GridView pro režim zobrazení, přesune se sloupec na nové místo. Při přetahování záhlaví sloupce se vedle původního záhlaví zobrazí plovoucí kopie záhlaví. Záhlaví sloupce v objektu GridView je reprezentováno objektem GridViewColumnHeader .

Chcete-li přizpůsobit vzhled plovoucí i původní záhlaví, můžete nastavit Triggers úpravu GridViewColumnHeaderStyle. Tyto hodnoty Triggers se použijí, IsPressed pokud je true hodnota vlastnosti a Role hodnota vlastnosti je Floating.

Když uživatel stiskne tlačítko myši a podrží ho, zatímco myš se zastaví na GridViewColumnHeader, IsPressed hodnota vlastnosti se změní na true. Podobně, když uživatel zahájí operaci přetažení, Role vlastnost se změní na Floating.

Následující příklad ukazuje, jak nastavit Triggers , aby se změnily Foreground a barvy původní a Background plovoucí záhlaví, když uživatel přetáhne sloupec na nové místo.

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

Viz také