将背景颜色应用于柱头后,排序箭头就会丢失。如何添加回来?
解决方法
我想你必须重新模板DataGridColumnHeader并从中添加它。这是一个例子。你必须添加一个对PresentationFramework.Aero的引用
xmlns:Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero" <DataGrid ...> <DataGrid.Resources> <Style x:Key="ColumnHeadergripperStyle" targettype="{x:Type Thumb}"> <Setter Property="Width" Value="8"/> <Setter Property="Background" Value="Transparent"/> <Setter Property="Cursor" Value="SizeWE"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate targettype="{x:Type Thumb}"> <Border Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}"/> </ControlTemplate> </Setter.Value> </Setter> </Style> <Style targettype="{x:Type DataGridColumnHeader}"> <Setter Property="Background" Value="Blue"/> <Setter Property="BorderBrush" Value="Red"/> <Setter Property="BorderThickness" Value="1,1,1"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate targettype="{x:Type DataGridColumnHeader}"> <Grid> <Themes:DataGridHeaderBorder BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" IsClickable="{TemplateBinding CanUserSort}" Ispressed="{TemplateBinding Ispressed}" IsHovered="{TemplateBinding IsMouSEOver}" Padding="{TemplateBinding Padding}" SortDirection="{TemplateBinding SortDirection}" SeparatorBrush="{TemplateBinding SeparatorBrush}" SeparatorVisibility="{TemplateBinding SeparatorVisibility}"> <Grid> <Grid.ColumnDeFinitions> <ColumnDeFinition Width="Auto"/> <ColumnDeFinition Width="*"/> </Grid.ColumnDeFinitions> <ContentPresenter Grid.Column="0" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> <Path x:Name="SortArrow" Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Center" Width="8" Height="6" Margin="2,5,0" Stretch="Fill" Opacity="0.5" Fill="White" RenderTransformOrigin="0.5,0.4" Visibility="Collapsed" Data="M0,0 L1,0 0.5,1 z" /> </Grid> </Themes:DataGridHeaderBorder> <Thumb x:Name="PART_LeftHeadergripper" HorizontalAlignment="Left" Style="{StaticResource ColumnHeadergripperStyle}"/> <Thumb x:Name="PART_RightHeadergripper" HorizontalAlignment="Right" Style="{StaticResource ColumnHeadergripperStyle}"/> </Grid> <ControlTemplate.Triggers> <Trigger Property="SortDirection" Value="Ascending"> <Setter TargetName="SortArrow" Property="Visibility" Value="Visible" /> <Setter TargetName="SortArrow" Property="RenderTransform"> <Setter.Value> <RotateTransform Angle="180" /> </Setter.Value> </Setter> </Trigger> <Trigger Property="SortDirection" Value="Descending"> <Setter TargetName="SortArrow" Property="Visibility" Value="Visible" /> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> </DataGrid.Resources> </DataGrid>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。