[ad_1]
嗨,大家好
请看图片 交叉口 — Freeimage.host[^]
正如您所看到的,DataGrid 中的 RowHeaders 和 ColumnHeaders 之间有一个空格。 所以我需要知道如何改变它的颜色?
谢谢。
我尝试过的:
我尝试更改 RowHeader 和 ColumnHeader 的背景,但它的颜色没有改变。
我搜索了互联网,但找不到任何代码。
解决方案1
了解 WPF 控件的最佳位置是查看默认模板。 对于 DataGrid,可以在这里找到: DataGrid 样式和模板- WPF .NET Framework | DataGrid 样式和模板微软学习[^]。
你所指的是 选择全部按钮 在左上角 DataGrid
。
使用上面的链接,那就是 DataGridSelectAllButtonStyle
。 这是在上面链接的页面上找到的第一个样式。
XML
<Style TargetType="{x:Type Button}" x:Key="{ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}"> <!-- trimmed --> </Style>
搜索该模板,您可以看到它的应用位置。 这是您需要修改的样式。
XML
<ControlTemplate TargetType="{x:Type DataGrid}"> <!-- trimmed --> <Button Focusable="false" Command="{x:Static DataGrid.SelectAllCommand}" Style="{DynamicResource {ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}}" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.All}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" Width="{Binding CellsPanelHorizontalOffset, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" /> <!-- trimmed --> </ControlTemplate>
所以你需要修改 DataGridSelectAllButtonStyle
并应用一个新的 ControlTemplate
。 该页面上有一个链接将指导您如何创建 ControlTemplate
以及页面底部的示例链接。
[ad_2]
コメント