Aracılığıyla paylaş


Nasıl yapılır: Sürüklenen GridView Sütun Başlığı için Stil Oluşturma

Bu örnek, kullanıcı bir sütunun konumunu değiştirdiğinde sürüklenen GridViewColumnHeader görünümün nasıl değiştireceğini gösterir.

Örnek

Bir sütun başlığını, görünüm modu için kullanılan GridView başka bir ListView konuma sürüklediğinizde, sütun yeni konuma taşınır. Sütun üst bilgisini sürüklerken, özgün üstbilgiye ek olarak üst bilginin kayan bir kopyası görüntülenir. içindeki bir GridView sütun üst bilgisi bir GridViewColumnHeader nesneyle temsil edilir.

Hem kayan hem de özgün üst bilgilerin görünümünü özelleştirmek için, öğesini değiştirmek GridViewColumnHeaderStyleiçin ayarlayabilirsinizTriggers. BunlarTriggers, özellik değeri ve Role özellik değeri olduğunda trueFloatinguygulanırIsPressed.

Kullanıcı fare düğmesine bastığında ve fare üzerinde duraklatılırken tuşunu basılı tuttuğundaGridViewColumnHeaderIsPressed, özellik değeri olarak truedeğişir. Benzer şekilde, kullanıcı sürükleme işlemine başladığında özelliği Role olarak Floatingdeğişir.

Aşağıdaki örnekte, kullanıcı bir sütunu yeni bir konuma sürüklediğinde özgün ve kayan üst bilgilerin ve Background renklerinin nasıl değiştireceğinin Foreground nasıl ayarlanacağı Triggers gösterilmektedir.

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

Ayrıca bkz.