Практическое руководство. Создание стиля для перетаскиваемого заголовка столбца GridView
В этом примере показано, как изменить внешний вид перетаскиваемого GridViewColumnHeader когда пользователь изменяет положение столбца.
Пример
При перетаскивании заголовка столбца в другое расположение в ListView , использующий GridView для режима просмотра, столбец перемещается в новое положение. При перетаскивании заголовка столбца, а также исходный заголовок появится с плавающей запятой копия заголовок. Заголовок столбца в GridView представленного GridViewColumnHeader объекта.
Чтобы настроить внешний вид заголовков с плавающей запятой и исходное, можно задать Triggers изменение GridViewColumnHeader Style. Эти Triggers применяются при IsPressed свойство имеет значение true
и Role свойство имеет значение Floating.
Когда пользователь нажимает кнопку мыши и удерживании его, когда указатель мыши задерживается на 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>