Megosztás a következőn keresztül:


Útmutató: Stílus létrehozása egy áthelyezett GridView oszlopfejléc számára

Ez a példa bemutatja, hogyan módosíthatja egy húzott GridViewColumnHeader megjelenését, amikor a felhasználó módosítja egy oszlop pozícióját.

példa

Amikor egy oszlopfejlécet egy adott ListView-ban egy másik helyre húz, és amely GridView-et használ nézetmódként, az oszlop az új helyére kerül. Amíg az oszlopfejlécet húzza, az eredeti fejléc mellett annak egy lebegő másolata is megjelenik. A GridView oszlopfejlécét egy GridViewColumnHeader objektum jelöli.

A lebegő és az eredeti fejlécek megjelenésének testreszabásához beállíthatja, hogy Triggers módosítsa a GridViewColumnHeaderStyle. Ezeket a Triggers akkor alkalmazza a rendszer, ha a IsPressed tulajdonság értéke true, és a Role tulajdonság értéke Floating.

Amikor a felhasználó lenyomja az egérgombot, és lenyomva tartja, miközben az egér a GridViewColumnHeaderfelett megáll, a IsPressed tulajdonság értéke trueértékre változik. Hasonlóképpen, amikor a felhasználó megkezdi a húzási műveletet, a Role tulajdonság Floatingváltozik.

Az alábbi példa bemutatja, hogyan állíthat be Triggers az eredeti és lebegő fejlécek Foreground és Background színének módosítására, amikor a felhasználó egy oszlopot új pozícióba húz.

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

Lásd még