Como faço para ocultar o seletor de linha wpf datagrid

108

Estou usando o controle WPF DataGrid para mostrar alguns detalhes e um botão de seleção, e não preciso da coluna do seletor cinza no lado esquerdo. Também está estragando a beleza do meu design.

Existe uma maneira de removê-lo ou como posso estilizá-lo para combinar, se não?

Tim Almond
fonte

Respostas:

149

Use a RowHeaderWidthpropriedade:

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

Observe que você também pode especificar um estilo ou modelo para ele, caso decida que realmente gosta e deseja mantê-lo, porque pode fazer algo legal com ele.

slugster
fonte
1
por algum motivo, não consegui encontrar em lugar nenhum. Sinta-se um pouco "doh!" agora, mas obrigado.
Tim Almond
30
A resposta do usuário556009 é a resposta correta para isso. Ou seja, definir HeadersVisibility = "Column"
Sameera
6
@scorpion: definir apenas HeadersVisibility = "Column" fará com que alguns cabeçalhos de coluna sejam deslocados horizontalmente em comparação com o conteúdo da célula. Definir HeadersVisibility = "Column" e RowHeaderWidth = "0" (ou apenas o último) corrige esse problema.
Jarek Kardas,
1
@JarekKardas Foi o meu caso. Eu brinquei com vários valores de HeadersVisibility e RowHeaderWidth e não consigo me livrar da mudança. Em seguida, deixo apenas HeadersVisibility = "Column", limpei e reconstruí a solução e a mudança acabou. Depois disso, apenas HeadersVisibility = "Column" foi o suficiente.
Alex34758 de
233

Em vez de definir a largura, você pode ocultar completamente os cabeçalhos das linhas definindo no DataGrid

HeadersVisibility="Column"
George Mavritsakis
fonte
3
gridView.HeadersVisibility = DataGridHeadersVisibility.Column;
George Mavritsakis
2
Se alguém quiser remover todos os cabeçalhos:HeadersVisibility="None"
Tim Pohlmann
2

Para remover o cabeçalho da linha (campo cinza) no Datagrid no WPF

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

Para remover ou ocultar o cabeçalho da coluna no DataGrid WPF

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

Para remover ou ocultar os cabeçalhos de coluna e linha no DataGrid WPF

<DataGrid x:Name="TrkDataGrid" HeadersVisibility="None">
</DataGrid>
Maghalakshmi Saravana
fonte
Experimente isso. É útil
Maghalakshmi Saravana
Que a resposta a esta pergunta merece
Orace
0

Tive o mesmo problema.

Parece que RowHeaderWidth não tem suporte no XAML, MAS você pode especificar no código logo após o vínculo e ele remove aquela coluna de seletor de baixa qualidade.

grdName.RowHeaderWidth = 0

Frank kotulak
fonte