如何:為已拖曳的 GridView 資料行行首建立樣式
此範例示範如何在使用者變更資料行位置時變更拖曳 GridViewColumnHeader 的外觀。
範例
當您將資料行標頭拖曳至用於其檢視模式的另一個位置 ListViewGridView 時,資料行會移至新位置。 當您拖曳資料行標頭時,除了原始標頭之外,也會顯示標頭的浮動複本。 中的資料 GridView 行標頭是由 GridViewColumnHeader 物件表示。
若要自訂浮動和原始標頭的外觀,您可以將 設定 Triggers 為修改 GridViewColumnHeaderStyle 。 當 Triggers 屬性值為 true
,而 屬性值為 Floating 時 IsPressed ,就會 Role 套用這些值。
當使用者按下滑鼠按鍵並按住滑鼠時,滑鼠暫停時 GridViewColumnHeader , IsPressed 屬性值會變更為 true
。 同樣地,當使用者開始拖曳作業時, Role 屬性會變更為 Floating 。
下列範例示範如何在 Triggers 使用者將資料行拖曳至新位置時,將 設定為變更 Foreground 原始和浮動標頭的 和 Background 色彩。
<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>
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應