修复WPF DataGrid列标题被切断?

修复WPF DataGrid列标题被切断?,wpf,formatting,format,truncation,Wpf,Formatting,Format,Truncation,在我的WPF应用程序中,我使用DataGrid,当我有标题标签文本接近列宽度的列时,列标题文本的右侧被标题区域右侧的空白区域截断,这就像标题右侧的内部填充一样,宽度为6或8像素,这似乎没有什么好的理由 我四处搜索类似的问题,看到有人提到了一个0,6,0,6的填充值,这个值不能更改,但我不知道他们是否在谈论我看到的相同内容 无论如何,我希望有人知道解决方法,让我知道它是什么 谢谢 在.NET 4中,DataGridColumnHeader将标题内容包装在DataGridHeaderOrder的实例

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

我四处搜索类似的问题,看到有人提到了一个0,6,0,6的填充值,这个值不能更改,但我不知道他们是否在谈论我看到的相同内容

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


谢谢

在.NET 4中,
DataGridColumnHeader
将标题内容包装在
DataGridHeaderOrder
的实例中。如果
padding
属性当前设置为
“0,0,0,0”
,则
DataGridHeaderOrder
确实会在内容周围添加
“3,3,3,3”

根据列标题或行标题使用的是
DataGridHeaderOrder
,还有其他逻辑。此外,不同的主题有相似但不完全相同的逻辑

防止
DataGridHeaderOrder
添加其填充的唯一方法是指定自己的填充。因此,您可以使用:

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


或除全零以外的任何值,如
“0.0001”
“-1”
DataGridColumnHeader
将其填充传递到
DataGridColumnHeader
,这就是为什么可以使用上面的隐式样式。

太棒了!耶!非常感谢你!这非常有效。奇怪的是,他们如何将其作为默认值,也奇怪的是,填充3,3,3似乎会导致填充0,6,0,0,但只要有解决方案!再次感谢!