Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dostępne są różne opcje, aby kontrolować, jak DataGrid dostosowuje swój rozmiar. Element DataGrid, a także poszczególne wiersze i kolumny w tabeli DataGrid, można ustawić na automatyczne dopasowanie rozmiaru do zawartości lub na określone wartości. Domyślnie DataGrid będzie się rozciągać i kurczyć, aby dopasować się do rozmiaru swojej zawartości.
Ustalanie rozmiaru usługi DataGrid
Uwaga podczas korzystania z automatycznego określania rozmiaru
Domyślnie właściwości Height i Width w DataGrid są ustawione na Double.NaN ("Auto
" w XAML), a DataGrid dopasuje się do rozmiaru swojej zawartości.
Po umieszczeniu wewnątrz kontenera, który nie ogranicza rozmiaru swoich elementów podrzędnych, takich jak Canvas lub StackPanel, DataGrid rozciąga się poza widoczne granice kontenera i paski przewijania nie są wyświetlane. Ten warunek ma wpływ zarówno na użyteczność, jak i wydajność.
Jeśli powiązany jest z zestawem danych, a Height w DataGrid nie jest ograniczony, będzie nadal dodawać wiersz dla każdego elementu danych w powiązanym zestawie danych. Może to spowodować, że DataGrid będzie się rozrastać poza widoczne granice aplikacji w miarę dodawania kolejnych wierszy. W tym przypadku paski przewijania DataGrid nie będą wyświetlane, ponieważ Height będzie nadal rosnąć, aby pomieścić nowe wiersze.
Tworzony jest obiekt dla każdego wiersza w 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ę właściwe skonfigurowanie Height w DataGrid, lub umieszczenie go w kontenerze, który ograniczy jego Height, na przykład Grid. Gdy parametr Height jest ograniczony, DataGrid spowoduje utworzenie tylko tych wierszy, które będą mieścić się w określonym Heightelemencie i będzie ponownie wykorzystywać te wiersze w miarę potrzeby, aby wyświetlić nowe dane.
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 .
Majątek | Opis |
---|---|
Height | Ustawia określoną wysokość dla elementu DataGrid. |
MaxHeight | Ustawia górną granicę dla wysokości DataGrid. DataGrid będzie rosnąć w pionie, dopóki nie osiągnie tej wysokości. |
MinHeight | Ustawia dolną granicę wysokości DataGrid. `DataGrid skurczy się w pionie, aż osiągnie tę wysokość.` |
Width | Ustawia określoną szerokość elementu DataGrid. |
MaxWidth | Ustawia górną granicę szerokości DataGrid. DataGrid będzie się rozrastać na szerokość, dopóki nie osiągnie tej szerokości. |
MinWidth | Ustawia dolną granicę dla szerokości DataGrid. DataGrid będzie kurczyć się poziomo, aż osiągnie tę szerokość. |
Dostosowywanie rozmiaru wierszy i nagłówków wierszy
Wiersze usługi DataGrid
Domyślnie właściwość wiersza DataGridHeight jest ustawiona na Double.NaN ("Auto
" w XAML), a wysokość wiersza dopasuje się do rozmiaru jego zawartości. Wysokość wszystkich wierszy w obiekcie DataGrid można określić, ustawiając właściwość DataGrid.RowHeight. 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
DataGrid używa wartości DataGridLength i struktury DataGridLengthUnitType do określania bezwzględnych lub automatycznych trybów rozmiaru.
Poniższa tabela pokazuje wartości, które podaje struktura DataGridLengthUnitType.
Nazwa | 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 | Automatyczny tryb ustalania rozmiaru kolumny na podstawie zawartości komórek w kolumnach, nie obejmujący nagłówków. |
SizeToHeader | Tryb automatycznego rozmiaru oparty na nagłówkach kolumn określa rozmiar DataGrid tylko na podstawie zawartości nagłówków kolumn. |
Pixel | Tryb ustalania rozmiaru oparty na pikselach ustala rozmiary kolumn DataGrid 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 DataGridLengthConverter może służyć do konwertowania danych między wartościami liczbowymi lub ciągowymi oraz wartościami DataGridLength.
Domyślnie właściwość DataGrid.ColumnWidth jest ustawiona na SizeToHeader, a właściwość DataGridColumn.Width jest ustawiona na Auto. Gdy tryb określania rozmiaru jest ustawiony na Auto lub SizeToCells, kolumny będą rosnąć do szerokości najszerszej widocznej zawartości. Podczas przewijania te tryby rozmiaru spowodują rozszerzenie kolumn, jeśli zawartość większa niż bieżący rozmiar kolumny zostanie przewijana do widoku. Kolumna nie zmniejsza się po przewinięciu zawartości z widoku ekranu.
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.
Majątek | 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 siatki danych
Domyślnie nagłówki kolumn DataGrid są wyświetlane. 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 dopasowywane 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 właściwość DataGridColumn.CanUserResize na false
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 także
.NET Desktop feedback