Как скрыть селектор строк 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

Фрэнк Котулак
источник