共用方式為


HOW TO:為已拖曳的 GridView 資料行行首建立樣式

本範例顯示當使用者變更資料行的位置時,如何變更拖曳之 GridViewColumnHeader 的外觀。

範例

在使用 GridView 做為檢視模式的 ListView 中,當您將資料行行首拖曳至另一個位置時,資料行會移動至新位置。 當您拖曳資料行行首時,除了原始行首之外,還會出現行首的浮動複本。 GridView 中的資料行行首是由 GridViewColumnHeader 物件表示。

若要自訂浮動和原始行首的外觀,您可以設定 Triggers 以修改 GridViewColumnHeader Style。 當 IsPressed 屬性值是 true,而且 Role 屬性值 Floating 時,就會套用這些 Triggers

當使用者按下滑鼠按鈕,按住並將滑鼠停留在 GridViewColumnHeader 時,IsPressed 屬性值會變更為 true。 同樣地,當使用者開始進行拖曳作業時,Role 屬性會變更為 Floating

下列範例說明當使用者將資料行拖曳至新位置時,如何設定 Triggers 以變更原始和浮動行首的 ForegroundBackground 色彩。

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

請參閱

參考

GridViewColumnHeader

GridViewColumnHeaderRole

ListView

GridView

概念

ListView 概觀

GridView 概觀

其他資源

ListView HOW TO 主題