2011-10-18 45 views
2

在我的WPF应用程序中,我使用了一个DataGrid,并且当我的标题标签文本接近列的宽度时,列标题文本的右侧部分被右侧的空白区域标题区域,就像是内部填充,位于标题右侧,宽度为6或8像素,这似乎没有什么好的理由。修复了WPF DataGrid列标题被截断的问题吗?

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

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

谢谢!

回答

5

在.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,这就是为什么您可以使用上面的隐式样式。

+0

非常好!好极了!非常感谢!这工作完美。这是奇怪的,他们如何将其作为默认值,并且奇怪3,3,3,3的填充似乎会导致填充0,6,0,0,但只要存在解决方案!再次感谢! – Dronz