Как скрыть селектор строк wpf datagrid


108

Я использую элемент управления WPF DataGrid, чтобы показать некоторые детали и кнопку выбора, и мне не нужен серый столбец селектора в левой части экрана. Это также портит красоту моего дизайна.

Есть ли способ удалить его или как я могу стилизовать его, если нет?

Ответы:


149

Используйте RowHeaderWidthсвойство:

<my:DataGrid RowHeaderWidth="0" AutoGenerateColumns="False" Name="dataGrid1" />

Обратите внимание, что вы также можете указать для него стиль или шаблон, если вы решите, что он вам действительно нравится, и хотите сохранить его, потому что с ним можно сделать что-то классное.


1
по какой-то причине я нигде не мог найти этого. Почувствуйте себя немного "дох!" сейчас, но спасибо.
Тим Алмонд,

31
Ответ user556009 - правильный ответ. Т.е. установить HeadersVisibility = "Column"
Sameera

6
@scorpion: установка только HeadersVisibility = "Column" приведет к смещению заголовков некоторых столбцов по горизонтали по сравнению с содержимым ячейки. Установка обоих HeadersVisibility = "Column" и RowHeaderWidth = "0" (или только последнего) устраняет эту проблему.
Ярек Кардас

1
@JarekKardas Это был мой случай. Я играл с различными значениями HeadersVisibility и RowHeaderWidth и не могу избавиться от сдвига. Затем я оставляю только HeadersVisibility = "Column" и просто очищаю и перестраиваю решение, и сдвиг ушел. После этого достаточно было HeadersVisibility = "Column".
Alex34758

234

Вместо установки ширины вы можете полностью скрыть заголовки строк, установив в DataGrid

HeadersVisibility="Column"

3
gridView.HeadersVisibility = DataGridHeadersVisibility.Column;
Георгий Маврицакис 02

2
Если кто-то хочет удалить все заголовки:HeadersVisibility="None"
Тим Полманн,

Это кажется гораздо более правильным, чем установка ширины на 0.
Алехандро

2

Чтобы удалить заголовок строки (серое поле) в Datagrid в WPF

<DataGrid x:Name="TrkDataGrid" HeadersVisibility="Column">
</DataGrid>

Чтобы удалить или скрыть заголовок столбца в DataGrid WPF

<DataGrid x:Name="TrkDataGrid" HeadersVisibility="Row">
</DataGrid>

Чтобы удалить или скрыть заголовок столбца и строки в DataGrid WPF

<DataGrid x:Name="TrkDataGrid" HeadersVisibility="None">
</DataGrid>

Попробуй это. Это полезно
Магалакшми Саравана

Ответ на этот вопрос заслуживает
Орас

0

Была такая же проблема.

Похоже, что RowHeaderWidth не поддерживается в XAML, НО вы можете указать в коде сразу после привязки, и он уберет этот дрянной столбец селектора.

grdName.RowHeaderWidth = 0

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.