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?

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.


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"

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>

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.