修复WPF DataGrid列标题被截断?

时间:2011-10-18 00:35:21

标签: wpf formatting format truncation

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

我搜索了类似的问题,并看到有人提到无法改变的0,6,0,6填充值,但我不知道他们是否在谈论我所看到的同样的事情。

无论如何,我会喜欢知道解决方法的人让我知道它是什么。

谢谢!

1 个答案:

答案 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,这就是您可以使用上述隐式样式的原因。