Jak ukryć selektor wiersza wpf datagrid

108

Używam kontrolki WPF DataGrid, aby wyświetlić niektóre szczegóły i przycisk wyboru, i nie potrzebuję szarej kolumny selektora po lewej stronie. Rujnuje też piękno mojego projektu.

Czy istnieje sposób na jej usunięcie lub jak mogę dopasować styl, jeśli nie?

Tim Almond
źródło

Odpowiedzi:

149

Skorzystaj z RowHeaderWidthnieruchomości:

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

Zauważ, że możesz również określić dla niego styl lub szablon, jeśli zdecydujesz, że naprawdę Ci się podoba i chcesz go zachować, ponieważ możesz z nim zrobić coś fajnego.

slugster
źródło
1
z jakiegoś powodu nie mogłem tego nigdzie znaleźć. Poczuj się trochę "doh!" teraz, ale dziękuję.
Tim Almond
30
Odpowiedź użytkownika556009 jest poprawną odpowiedzią na to pytanie. To znaczy ustaw HeadersVisibility = "Column"
Sameera
6
@scorpion: ustawienie tylko HeadersVisibility = "Column" spowoduje przesunięcie niektórych nagłówków kolumn w poziomie w porównaniu z zawartością komórek. Ustawienie obu HeadersVisibility = "Column" i RowHeaderWidth = "0" (lub tylko ostatniego) rozwiązuje ten problem.
Jarek Kardas
1
@JarekKardas To był mój przypadek. Grałem z różnymi wartościami HeadersVisibility i RowHeaderWidth i nie mogę pozbyć się zmiany. Następnie zostawiam tylko HeadersVisibility = "Column" i właśnie wyczyściłem i odbudowałem rozwiązanie, a zmiana zniknęła. Potem wystarczyło tylko HeadersVisibility = "Column".
Alex34758
233

Zamiast ustawiać Width, możesz całkowicie ukryć nagłówki wierszy, ustawiając w DataGrid

HeadersVisibility="Column"
George Mavritsakis
źródło
3
gridView.HeadersVisibility = DataGridHeadersVisibility.Column;
George Mavritsakis
2
Jeśli ktoś chce usunąć wszystkie nagłówki:HeadersVisibility="None"
Tim Pohlmann
2

Aby usunąć nagłówek wiersza (szare pole) w Datagrid w WPF

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

Aby usunąć lub ukryć nagłówek kolumny w DataGrid WPF

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

Aby usunąć lub ukryć nagłówek kolumny i wiersza w DataGrid WPF

<DataGrid x:Name="TrkDataGrid" HeadersVisibility="None">
</DataGrid>
Maghalakshmi Saravana
źródło
Spróbuj tego. To jest pomocne
Maghalakshmi Saravana
Że zasługuje na odpowiedź to pytanie
Orace
0

Miałem ten sam problem.

Wygląda na to, że RowHeaderWidth nie jest obsługiwana w XAML, ale możesz określić w kodzie tuż po powiązaniu i usuwa tę kiepską kolumnę selektora.

grdName.RowHeaderWidth = 0

Frank Kotulak
źródło