在我的 WPF 应用程序中,我使用 DataGrid,当我的列的标题标签文本接近列的宽度时,列标题文本的右侧部分被右侧的空白区域截断标题区域,这就像标题右侧的内部填充,宽度为 6 或 8 像素,这似乎没有充分的理由。
我四处搜索类似的问题,看到有人提到 0,6, 0,6 填充值不能更改,但我不知道他们是否在谈论我所看到的同一件事。
无论如何,我希望知道解决方法的人告诉我它是什么。
谢谢!
最佳答案
在 .NET 4 中,DataGridColumnHeader
将 header 内容包装在 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"
或 "-1"
。 DataGridColumnHeader
会将其填充传递给 DataGridColumnHeader
,这就是您可以使用上面的隐式样式的原因。
关于wpf - 修复了 WPF DataGrid 列标题被截断的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7801201/