2011-10-18 4 views
2

私はデータグリッドを使用し、私は、そのヘッダ・ラベルテキスト列の幅に近いある列を有する場合、列ヘッダーテキストの右部分は、右側のblanknessの領域で遮断されますヘッダー領域はヘッダーの右側にある6〜8ピクセル幅の内部パディングのようなもので、正当な理由がないようです。WPF DataGridの列見出しを修正しましたか?私のWPFアプリで

私は同様の質問を探し回って、変更できない0,6,0,6のパディング値について言及しましたが、私が見ているのと同じことについて話しているかどうかはわかりません。

とにかく、私は私はそれが何であるかを知っているように、回避策を知っている誰かのために大好きです。

ありがとうございます! .NET 4で

答えて

5

DataGridColumnHeaderDataGridHeaderBorderのインスタンス内のヘッダのコンテンツをラップします。 DataGridHeaderBorderは、Paddingのプロパティが現在"0,0,0,0"に設定されている場合、内容の周囲に"3,3,3,3"のパディングを追加するように見えます。

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

関連する問題