Исправлен ли отрезанный заголовок столбца WPF DataGrid? - PullRequest
2 голосов
/ 18 октября 2011

В своем приложении WPF я использую DataGrid, и когда у меня есть столбцы, текст метки заголовка которых близок к ширине столбца, правая часть текста заголовка столбца обрезается областью пустоты на правой стороне области заголовка, которая похожа на внутренний отступ справа от заголовка шириной 6 или 8 пикселей, что, по-видимому, не имеет веских оснований.

Я искал похожие вопросы и видел, что кто-то упоминал значение отступа 0,6, 0,6, которое нельзя изменить, но я не знаю, говорили ли они о том же, что и я.

Во всяком случае, я хотел бы, чтобы кто-то знал обходной путь, чтобы сообщить мне, что это такое.

Спасибо!

1 Ответ

6 голосов
/ 18 октября 2011

В .NET 4 DataGridColumnHeader упаковывает содержимое заголовка в экземпляр DataGridHeaderBorder.DataGridHeaderBorder, кажется, добавляет заполнение "3,3,3,3" вокруг содержимого, если его свойство Padding в настоящее время установлено на "0,0,0,0".

Существует дополнительная логика, основанная на том,используется для заголовков столбцов или строк.Кроме того, различные темы имеют схожую, но не совсем одинаковую логику.

Единственный способ предотвратить добавление отступов DataGridHeaderBorder - указать свою собственную.Таким образом, вы можете использовать:

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

Или что-либо, кроме всех нулей, например "0.0001" или "-1".DataGridColumnHeader передаст свой отступ в DataGridColumnHeader, поэтому вы можете использовать неявный стиль выше.

...