Opcje ustalania rozmiaru w formancie DataGrid
Dostępne są różne opcje do kontrolowania sposobu, w DataGrid jaki rozmiary się znajdują. Poszczególne DataGridwiersze i kolumny w tabeli DataGridmożna ustawić na automatyczne ustawianie rozmiaru zawartości lub można ustawić na określone wartości. Domyślnie DataGrid rozmiar zawartości będzie się zwiększać i zmniejszać.
Ustalanie rozmiaru usługi DataGrid
Uwaga podczas korzystania z automatycznego określania rozmiaru
Domyślnie Height właściwości DataGrid i Width są ustawione na Double.NaN ("Auto
" w języku XAML), a DataGrid właściwość zostanie dopasowana do rozmiaru jego zawartości.
Po umieszczeniu wewnątrz kontenera, który nie ogranicza rozmiaru jego elementów podrzędnych, takich jak lub CanvasStackPanel, DataGrid będzie rozciągać się poza widoczne granice kontenera i paski przewijania nie będą wyświetlane. Ten warunek ma wpływ zarówno na użyteczność, jak i wydajność.
Jeśli element jest powiązany z zestawem danych, jeśli Height element nie DataGrid jest ograniczony, będzie nadal dodawać wiersz dla każdego elementu danych w powiązanym zestawie danych. Może to spowodować DataGrid zwiększenie wartości poza widocznymi granicami aplikacji w miarę dodawania wierszy. W tym przypadku paski przewijania DataGrid nie będą wyświetlane, ponieważ Height będzie nadal rosnąć, aby pomieścić nowe wiersze.
Obiekt jest tworzony dla każdego wiersza w obiekcie DataGrid. Jeśli pracujesz z dużym zestawem danych i zezwalasz DataGrid na automatyczne ustawianie rozmiaru, utworzenie dużej liczby obiektów może mieć wpływ na wydajność aplikacji.
Aby uniknąć tych problemów podczas pracy z dużymi zestawami danych, zaleca się ustawienie HeightDataGrid obiektu lub umieszczenie go w kontenerze, który ograniczy jego Heightwartość , na przykład Grid. Gdy parametr Height jest ograniczony, DataGrid spowoduje to utworzenie tylko wierszy, które będą mieścić się w określonym Heightelemecie , i będzie odtwarzać te wiersze zgodnie z potrzebami w celu wyświetlenia nowych danych.
Ustawianie rozmiaru usługi DataGrid
DataGrid Można ustawić opcję automatycznego rozmiaru w określonych granicach lub DataGrid można ustawić na określony rozmiar. W poniższej tabeli przedstawiono właściwości, które można ustawić w celu kontrolowania rozmiaru DataGrid .
Właściwości | opis |
---|---|
Height | Ustawia określoną wysokość dla elementu DataGrid. |
MaxHeight | Ustawia górną granicę dla wysokości DataGridobiektu . Będzie DataGrid rosnąć w pionie, dopóki nie osiągnie tej wysokości. |
MinHeight | Ustawia dolną granicę wysokości DataGridobiektu . Spowoduje DataGrid to zmniejszenie w pionie do momentu osiągnięcia tej wysokości. |
Width | Ustawia określoną szerokość elementu DataGrid. |
MaxWidth | Ustawia górną granicę dla szerokości DataGridobiektu . Będzie DataGrid rosnąć w poziomie, dopóki nie osiągnie tej szerokości. |
MinWidth | Ustawia dolną granicę dla szerokości DataGridobiektu . Będzie DataGrid zmniejszać się w poziomie, dopóki nie osiągnie tej szerokości. |
Ustalanie rozmiaru wierszy i nagłówków wierszy
Wiersze usługi DataGrid
Domyślnie DataGrid właściwość wiersza Height jest ustawiona na Double.NaN ("Auto
" w języku XAML), a wysokość wiersza zostanie rozwinięta do rozmiaru jego zawartości. Wysokość wszystkich wierszy w obiekcie DataGrid można określić, ustawiając DataGrid.RowHeight właściwość . Użytkownicy mogą zmieniać wysokość wiersza, przeciągając separatory nagłówków wierszy.
Nagłówki wierszy usługi DataGrid
Aby wyświetlić nagłówki wierszy, właściwość musi być ustawiona HeadersVisibility na DataGridHeadersVisibility.Row lub DataGridHeadersVisibility.All. Domyślnie nagłówki wierszy są wyświetlane i mają automatycznie rozmiar w celu dopasowania ich do zawartości. Nagłówki wierszy mogą mieć określoną szerokość, ustawiając DataGrid.RowHeaderWidth właściwość .
Ustalanie rozmiaru kolumn i nagłówków kolumn
Kolumny DataGrid
Funkcja DataGrid używa wartości i DataGridLengthUnitType struktury do określania bezwzględnych DataGridLength lub automatycznych trybów ustalania rozmiaru.
W poniższej DataGridLengthUnitType tabeli przedstawiono wartości podane przez strukturę.
Nazwa/nazwisko | opis |
---|---|
Auto | Domyślny tryb automatycznego określania rozmiaru kolumn określa kolumny DataGrid na podstawie zawartości zarówno komórek, jak i nagłówków kolumn. |
SizeToCells | Automatyczne ustalanie rozmiaru kolumn w trybie DataGrid automatycznego określania rozmiaru na podstawie zawartości komórek w kolumnie, a nie w tym nagłówków kolumn. |
SizeToHeader | Kolumny automatycznego określania rozmiaru oparte na nagłówkach są określane DataGrid tylko na podstawie zawartości nagłówków kolumn. |
Pixel | Kolumny trybu ustalania rozmiaru oparte na pikselach DataGrid są określane na podstawie podanej wartości liczbowej. |
Star | Tryb określania rozmiaru gwiazdy jest używany do dystrybucji dostępnego miejsca według proporcji ważonych. W języku XAML wartości gwiazdek są wyrażane jako n*, gdzie n reprezentuje wartość liczbową. Wartość 1* jest równoważna *. Jeśli na przykład dwie kolumny w obiekcie DataGrid mają szerokość * i 2*, pierwsza kolumna otrzyma jedną część dostępnego miejsca, a druga kolumna otrzyma dwie części dostępnego miejsca. |
Klasa może służyć do konwertowania DataGridLengthConverter danych między wartościami DataGridLength liczbowymi lub ciągami.
Domyślnie właściwość jest ustawiona DataGrid.ColumnWidth na SizeToHeader, a właściwość jest ustawiona DataGridColumn.Width na Auto. Gdy tryb określania rozmiaru jest ustawiony na Auto lub SizeToCells, kolumny będą rosnąć do szerokości ich najszerszej widocznej zawartości. Podczas przewijania te tryby określania rozmiaru spowodują rozwinięcie kolumn, jeśli zawartość jest większa niż bieżący rozmiar kolumny jest przewijany do widoku. Kolumna nie zmniejsza się po przewinięciu zawartości z widoku.
Kolumny w obiekcie DataGrid można również ustawić tak, aby automatycznie ustawiały rozmiar tylko w określonych granicach, a kolumny można ustawić na określony rozmiar. W poniższej tabeli przedstawiono właściwości, które można ustawić w celu kontrolowania rozmiarów kolumn.
Właściwości | opis |
---|---|
DataGrid.MaxColumnWidth | Ustawia górną granicę dla wszystkich kolumn w obiekcie DataGrid. |
DataGridColumn.MaxWidth | Ustawia górną granicę dla pojedynczej kolumny. Zastępuje .DataGrid.MaxColumnWidth |
DataGrid.MinColumnWidth | Ustawia dolną granicę dla wszystkich kolumn w obiekcie DataGrid. |
DataGridColumn.MinWidth | Ustawia dolną granicę dla pojedynczej kolumny. Zastępuje .DataGrid.MinColumnWidth |
DataGrid.ColumnWidth | Ustawia określoną szerokość dla wszystkich kolumn w obiekcie DataGrid. |
DataGridColumn.Width | Ustawia określoną szerokość dla pojedynczej kolumny. Zastępuje .DataGrid.ColumnWidth |
Nagłówki kolumn dataGrid
Domyślnie DataGrid są wyświetlane nagłówki kolumn. Aby ukryć nagłówki kolumn, właściwość musi być ustawiona HeadersVisibility na DataGridHeadersVisibility.Row lub DataGridHeadersVisibility.None. Domyślnie, gdy nagłówki kolumn są wyświetlane, są automatycznie rozmiary w celu dopasowania ich do zawartości. Nagłówki kolumn mogą mieć określoną wysokość, ustawiając DataGrid.ColumnHeaderHeight właściwość .
Zmiana rozmiaru za pomocą myszy
Użytkownicy mogą zmieniać rozmiar DataGrid wierszy i kolumn, przeciągając separatory nagłówków wierszy lub kolumn. Funkcja DataGrid obsługuje również automatyczną zmianę rozmiaru wierszy i kolumn przez dwukrotne kliknięcie modułu podziału nagłówka wiersza lub kolumny. Aby uniemożliwić użytkownikowi zmianę rozmiaru określonych kolumn, ustaw DataGridColumn.CanUserResize właściwość na false
wartość dla poszczególnych kolumn. Aby uniemożliwić użytkownikom zmianę rozmiaru DataGrid.CanUserResizeColumns wszystkich kolumn, ustaw właściwość na false
. Aby uniemożliwić użytkownikom zmianę rozmiaru DataGrid.CanUserResizeRows wszystkich wierszy, ustaw właściwość na false
.
Zobacz też
.NET Desktop feedback