2

在我的 WPF 应用程序中,我使用 DataGrid,当我的列的标题标签文本接近列的宽度时,列标题文本的右侧部分被标题右侧的空白区域切断区域,就像标题右侧的内部填充一样,宽度为 6 或 8 像素,这似乎没有充分的理由。

我四处搜索类似的问题,看到有人提到无法更改的 0,6、0,6 填充值,但我不知道他们是否在谈论我所看到的同一件事。

无论如何,我希望有人知道解决方法让我知道它是什么。

谢谢!

4

1 回答 1

6

在 .NET 4 中,DataGridColumnHeader将标头内容包装在DataGridHeaderBorder. 如果它的DataGridHeaderBorder属性当前设置为."3,3,3,3"Padding"0,0,0,0"

根据DataGridHeaderBorder是用于列标题还是行标题,还有其他逻辑。此外,各种主题具有相似但不完全相同的逻辑。

防止DataGridHeaderBorder添加它的填充的唯一方法是指定您自己的。所以你可以使用:

<Style TargetType="DataGridColumnHeader">
    <Setter Property="Padding" Value="1,0" />
</Style>

或除全零以外的任何内容,例如"0.0001"or "-1"DataGridColumnHeader会将其填充传递给,DataGridColumnHeader这就是您可以使用上面的隐式样式的原因。

于 2011-10-18T01:31:52.053 回答