Files
ShrlAlgoToolkit/WPFluent/Controls/GridView/GridViewColumnHeader.xaml
ShrlAlgo 4d35cadb56 更新
2025-07-11 09:20:23 +08:00

110 lines
6.5 KiB
XML

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style TargetType="GridViewColumnHeader" x:Key="UiGridViewColumnHeaderStyle">
<Style.Triggers>
<Trigger Property="GridViewColumnHeader.Role" Value="Floating">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="GridViewColumnHeader">
<Canvas Name="PART_FloatingHeaderCanvas">
<Rectangle
Fill="#FF000000"
Height="{TemplateBinding ActualHeight}"
Opacity="0.5"
Width="{TemplateBinding ActualWidth}" />
</Canvas>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="GridViewColumnHeader.Role" Value="Padding">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="GridViewColumnHeader">
<Border
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding Border.BorderBrush}"
BorderThickness="0,0,0,0"
Name="HeaderBorder" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
<Setter Property="HorizontalContentAlignment" Value="Left" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="BorderThickness" Value="0,0,0,0" />
<Setter Property="Margin" Value="0,0,0,0" />
<Setter Property="Padding" Value="0,2" />
<Setter Property="Foreground" Value="{DynamicResource TextFillColorPrimaryBrush}" />
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="GridViewColumnHeader">
<Grid>
<Border
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="0,0,0,0"
CornerRadius="{DynamicResource ControlCornerRadius}"
Name="HeaderBorder">
<Border Margin="6,0,0,0" Padding="{TemplateBinding Padding}">
<ContentPresenter
Content="{TemplateBinding Content}"
ContentStringFormat="{TemplateBinding ContentStringFormat}"
ContentTemplate="{TemplateBinding ContentTemplate}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
Name="HeaderContent"
RecognizesAccessKey="True"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
<!--<TextBlock Text="{TemplateBinding Content}" />-->
</Border>
</Border>
<Canvas>
<Thumb Name="PART_HeaderGripper">
<Thumb.Style>
<Style TargetType="Thumb">
<Setter Property="Canvas.Right" Value="-9" />
<Setter Property="Width" Value="18" />
<Setter Property="Height" Value="{Binding Path=ActualHeight, RelativeSource={RelativeSource Mode=TemplatedParent}}" />
<Setter Property="Padding" Value="0,0,0,0" />
<Setter Property="Background" Value="Transparent" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Thumb">
<Border Background="#00FFFFFF" Padding="{TemplateBinding Padding}">
<Rectangle
Fill="{TemplateBinding Background}"
HorizontalAlignment="Center"
Width="1" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Thumb.Style>
</Thumb>
</Canvas>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" TargetName="HeaderBorder" Value="{DynamicResource SubtleFillColorSecondaryBrush}" />
<Setter Property="Background" TargetName="PART_HeaderGripper" Value="Transparent" />
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" TargetName="HeaderBorder" Value="Transparent" />
<Setter Property="Visibility" TargetName="PART_HeaderGripper" Value="Hidden" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="TextElement.Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>