在我的WPF应用程序中,我使用DataGrid,当我的列标题标签文本接近列的宽度时,列标题文本的右侧部分被右侧的空白区域截断标题区域,就像标题右侧的内部填充一样,宽度为6或8像素,这似乎没有充分的理由。
我搜索了类似的问题,并看到有人提到无法改变的0,6,0,6填充值,但我不知道他们是否在谈论我所看到的同样的事情。
无论如何,我会喜欢知道解决方法的人让我知道它是什么。
谢谢!
答案 0 :(得分: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"
或"-1"
。 DataGridColumnHeader
会将其填充传递给DataGridColumnHeader
,这就是您可以使用上述隐式样式的原因。