Параметры изменения размеров элемента управления DataGrid
Доступны различные варианты для управления как DataGrid изменяет свой размер. DataGrid, А отдельные строки и столбцы в DataGrid, можно задать для определения размера их содержимое автоматически или могут быть присвоены определенные значения. По умолчанию DataGrid будут увеличиваться и уменьшаться в соответствии с размером его содержимого.
Изменение размера DataGrid
Меры предосторожности при использовании автоматического изменения размера
По умолчанию Height и Width свойства DataGrid присваивается Double.NaN («Auto
"в XAML) и DataGrid настроит размеру его содержимого.
При размещении внутри контейнера, который не ограничивает размер своих дочерних элементов, таких как Canvas или StackPanel, DataGrid будет растягиваться за пределы видимой границы контейнера, и полосы прокрутки не отображаются. Эта проблема влияет на производительность и удобство использования.
При привязке к набору данных, если Height из DataGrid является не ограничено, она будет продолжать добавьте строку для каждого элемента данных в привязанного набора данных. Это может привести к DataGrid увеличиваться за пределами видимых границ приложения по мере добавления строк. DataGrid Не покажет полосы прокрутки в данном случае из-за его Height будет продолжать расти для размещения новых строк.
Объект создается для каждой строки в DataGrid. Если вы работаете с большим набором данных, и вы разрешаете DataGrid автоматическое изменение размера, создание большого числа объектов может повлиять на производительность приложения.
Чтобы избежать этих проблем при работе с большими наборами данных, рекомендуется специально настроены Height из DataGrid или поместить его в контейнер, который ограничит его Height, такие как Grid. Когда Height ограничен, DataGrid создает только строки, соответствующие указанным в Heightи будет повторно использовать эти строки при необходимости для отображения новых данных.
Задание размера DataGrid
DataGrid Можно задать автоматическое изменение размеров в пределах указанных границ или DataGrid может быть присвоено определенного размера. Ниже приведены свойства, которые можно задать для элемента управления DataGrid размер.
Свойство | Описание |
---|---|
Height | Задает определенную высоту DataGrid. |
MaxHeight | Задает верхнюю границу высоту DataGrid. DataGrid Будет увеличиваться по вертикали до достижения этой высоты. |
MinHeight | Задает нижнюю границу для высоты DataGrid. DataGrid Приведет к сжатию по вертикали до достижения этой высоты. |
Width | Задает ширину для DataGrid. |
MaxWidth | Задает верхнюю границу ширину DataGrid. DataGrid Увеличивается по горизонтали до достижения этой ширины. |
MinWidth | Задает нижнюю границу для ширину DataGrid. DataGrid Уменьшается по горизонтали до достижения этой ширины. |
Изменение размера строк и заголовки строк
Строки DataGrid
По умолчанию DataGrid строки Height свойству Double.NaN (»Auto
"в XAML), высота строки будет увеличиваться по размеру его содержимого. Высоту всех строк в DataGrid можно указать, задав DataGrid.RowHeight свойство. Пользователи могут изменять высоту строк путем перетаскивания разделителей строк заголовка.
Заголовки строк DataGrid
Отображение заголовков строк, HeadersVisibility свойству должно быть присвоено DataGridHeadersVisibility.Row или DataGridHeadersVisibility.All. По умолчанию отображаются заголовки строк, и они автоматически масштабироваться в соответствии с содержимым. Заголовки строк можно фиксированную ширину, задав DataGrid.RowHeaderWidth свойство.
Изменение размеров столбцов и заголовков столбцов
DataGrid, столбцы
DataGrid Использует значения DataGridLength и DataGridLengthUnitType структура для указания режимов абсолютный или автоматическое изменение размеров.
Ниже приведены значения, предоставленные DataGridLengthUnitType структуры.
name | Описание |
---|---|
Auto | По умолчанию автоматическое изменение размера размеры режим DataGrid столбцы на основе содержимого ячеек и заголовков столбцов. |
SizeToCells | Основе ячеек автоматическое изменение размера размеры режим DataGrid столбцы на основе содержимого ячеек в столбце, не включая заголовки столбцов. |
SizeToHeader | На основе заголовков автоматическое изменение размера размеры режим DataGrid столбцы на основе содержимого заголовков столбцов. |
Pixel | Точечных изменения размера размеры режим DataGrid столбцы на основе числового значения предоставляются. |
Star | Режим изменения размера типа "звезда" используется для распределения доступное пространство взвешенного пропорции. В XAML значения типа "звезда" выражаются в виде n *, где n представляет числовое значение. 1* эквивалентен *. Например, если два столбцы в DataGrid имеют ширину * и 2*, первый столбец получит одну часть доступного пространства и второй столбец получит две части доступное пространство. |
DataGridLengthConverter Класс может использоваться для преобразования данных между числовыми или строковыми значениями и DataGridLength значения.
По умолчанию DataGrid.ColumnWidth свойству SizeToHeaderи DataGridColumn.Width свойству Auto. Если присвоить режим изменения размеров Auto или SizeToCells, столбцы будет увеличиваться до ширины их самого широкого отображаемого содержимого. Во время прокрутки эти режимы изменения размеров приведет к столбцы для отображения содержимого, которые больше, чем текущий размер столбца в области просмотра. Столбец не приведет к сжатию после содержимого находится вне области просмотра.
Столбцы в DataGrid можно также задать автоматическое изменение размеров только в пределах указанных границ, или столбцы, которые можно установить значение определенного размера. Ниже приведены свойства, которые могут устанавливаться для управления размером столбцов.
Свойство | Описание |
---|---|
DataGrid.MaxColumnWidth | Задает верхнюю границу для всех столбцов в DataGrid. |
DataGridColumn.MaxWidth | Задает верхнюю границу для отдельного столбца. Переопределяет DataGrid.MaxColumnWidth. |
DataGrid.MinColumnWidth | Задает нижнюю границу для всех столбцов в DataGrid. |
DataGridColumn.MinWidth | Задает нижнюю границу для отдельного столбца. Переопределяет DataGrid.MinColumnWidth. |
DataGrid.ColumnWidth | Задает ширину для всех столбцов в DataGrid. |
DataGridColumn.Width | Задает ширину для отдельного столбца. Переопределяет DataGrid.ColumnWidth. |
Заголовки столбцов DataGrid
По умолчанию DataGrid отображаются заголовки столбцов. Чтобы скрыть заголовки столбцов, HeadersVisibility свойству должно быть присвоено DataGridHeadersVisibility.Row или DataGridHeadersVisibility.None. По умолчанию при отображении заголовков столбцов, они автоматически меняют размер в соответствии с содержимым. Заголовки столбцов можно задать высоту, задав DataGrid.ColumnHeaderHeight свойство.
Изменение размеров с помощью мыши
Пользователь может изменять размер DataGrid строк и столбцов, перетаскивая разделители заголовков строк или столбцов. DataGrid Также поддерживает автоматическое изменение размера строк и столбцов, дважды щелкнув разделитель заголовка строки или столбца. Чтобы предотвратить изменение размеров определенных столбцов, задайте DataGridColumn.CanUserResize свойства false
для каждого столбца. Чтобы запретить пользователям изменять размеры всех столбцов, задайте DataGrid.CanUserResizeColumns свойства false
. Чтобы запретить пользователям изменять размеры всех строк, задайте DataGrid.CanUserResizeRows свойства false
.