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?

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.


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"

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>

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.