共用方式為


如何:為已拖曳的 GridView 資料行行首建立樣式

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

範例

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

若要自訂浮動和原始標頭的外觀,您可以設定 Triggers 來修改 GridViewColumnHeaderStyle。 當 Triggers 屬性值為 IsPressedtrue 屬性值為 Role 時,便會套用這些 Floating

當使用者按下滑鼠按鈕,並在滑鼠暫停 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>

另請參閱