我正在研究Visual Studio扩展,并尝试将WPF DataGrid设为主题,以匹配Visual Studio的浅色或深色主题.除了DataGrid的左上角之外,我已经成功地完成了所有工作.

在Silverlight中,这称为TopLeftCornerHeader,但我无法弄清楚如何在WPF中更改背景颜色.
到目前为止,我已经像这样修改了DataGrid,
<DataGrid
Background="{DynamicResource {x:Static wpf:Theme.BackgroundKey}}"
Foreground="{DynamicResource {x:Static wpf:Theme.ForegroundKey}}"
RowBackground="{DynamicResource {x:Static wpf:Theme.BackgroundKey}}"
AlternatingRowBackground="{DynamicResource {x:Static wpf:Theme.BackgroundAccentKey}}"
HorizontalGridLinesBrush="{DynamicResource {x:Static wpf:Theme.ControlBorderKey}}"
VerticalGridLinesBrush="{DynamicResource {x:Static wpf:Theme.ControlBorderKey}}"
BorderBrush="{DynamicResource {x:Static wpf:Theme.ControlBorderKey}}" >
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="Background" Value="{DynamicResource {x:Static wpf:Theme.BackgroundKey}}" />
</Style>
</DataGrid.ColumnHeaderStyle>
Run Code Online (Sandbox Code Playgroud)
我认为唯一的设置方法之一DataGrid RowHeaderWidth:
<DataGrid x:Name="dataGrid"
RowHeaderWidth="0"
... />
Run Code Online (Sandbox Code Playgroud)
我尝试设置RowHeaderStyle,RowHeaderTemplate但它们不影响左上角的区域。
它也可能是PART_LeftHeaderGripper位于 中的拇指DataGridColumnHeader,它位于标题列的左侧:
<Thumb x:Name="PART_LeftHeaderGripper"
HorizontalAlignment="Left"
Style="{StaticResource Style_HeaderGripper}" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1227 次 |
| 最近记录: |