2011-10-18 78 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