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