UniformGridLayout Класс

Определение

Размещает элементы последовательно слева направо или сверху вниз в макете упаковки.

/// [Microsoft.UI.Xaml.CustomAttributes.MUXContractProperty(version=0)]
/// [Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
/// [Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackMethodName(value="OnPropertyChanged")]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Version(1)]
class UniformGridLayout : VirtualizingLayout
/// [Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
/// [Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackMethodName(value="OnPropertyChanged")]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.XamlContract, 65536)]
class UniformGridLayout : VirtualizingLayout
[Microsoft.UI.Xaml.CustomAttributes.MUXContractProperty(version=0)]
[Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
[Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackMethodName(value="OnPropertyChanged")]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Version(1)]
public class UniformGridLayout : VirtualizingLayout
[Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
[Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackMethodName(value="OnPropertyChanged")]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.XamlContract), 65536)]
public class UniformGridLayout : VirtualizingLayout
Public Class UniformGridLayout
Inherits VirtualizingLayout
Наследование
Object IInspectable DependencyObject Layout VirtualizingLayout UniformGridLayout
Атрибуты
Microsoft.UI.Xaml.CustomAttributes.MUXContractPropertyAttribute Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackAttribute Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackMethodNameAttribute MarshalingBehaviorAttribute ThreadingAttribute VersionAttribute ContractVersionAttribute

Примеры

Совет

Дополнительные сведения, рекомендации по проектированию и примеры кода см. в разделе ItemsRepeater.

Приложение "Коллекция WinUI 3" содержит интерактивные примеры большинства элементов управления, функций и функций WinUI 3. Получите приложение из Microsoft Store или получите исходный код в GitHub.

В следующем примере показано, как задать свойству ItemsRepeater.Layout значение UniformGridLayout.

<!--
    xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
-->
...
<muxc:ItemsRepeater ItemsSource="{x:Bind Items}"
                    ItemTemplate="{StaticResource MyTemplate}">
    <muxc:ItemsRepeater.Layout>
        <muxc:UniformGridLayout MinItemWidth="200"
                                MinColumnSpacing="28"
                                ItemsJustification="SpaceAround"/>
    </muxc:ItemsRepeater.Layout>
</muxc:ItemsRepeater>

Комментарии

Элементы размещаются слева направо, если ориентация имеет значение Horizontal, и размещаются сверху вниз, если ориентация имеет значение Vertical.

Каждый элемент в UniformGridLayout имеет одинаковый размер.

UniformGridLayout поддерживает виртуализацию при подключении к узлу, поддерживающму виртуализацию.

Конструкторы

UniformGridLayout()

Инициализирует новый экземпляр класса UniformGridLayout .

Свойства

Dispatcher

Всегда возвращается null в приложении Windows App SDK. Вместо этого используйте DispatcherQueue .

(Унаследовано от DependencyObject)
DispatcherQueue

Возвращает объект , DispatcherQueue с которым связан данный объект. DispatcherQueue представляет объект, который может получить доступ к потоку DependencyObject пользовательского интерфейса, даже если код инициируется потоком, не относящегося к пользовательскому интерфейсу.

(Унаследовано от DependencyObject)
IndexBasedLayoutOrientation

Возвращает ориентацию, если она есть, в которой элементы размещаются на основе их индекса в исходной коллекции.

(Унаследовано от Layout)
ItemsJustification

Возвращает или задает значение, указывающее, как элементы выравниваются по оси без прокрутки или без виртуализации.

ItemsJustificationProperty

Определяет свойство зависимости ItemsJustification .

ItemsStretch

Возвращает или задает значение, указывающее размер элементов для заполнения доступного пространства.

ItemsStretchProperty

Определяет свойство зависимости ItemsStretch .

MaximumRowsOrColumns

Возвращает или задает максимальное количество элементов, отображаемых для каждой строки или столбца, в зависимости от ориентации Объекта UniformGridLayout.

MaximumRowsOrColumnsProperty

Определяет свойство зависимости MaximumRowsOrColumns .

MinColumnSpacing

Возвращает или задает минимальное пространство между элементами на горизонтальной оси.

MinColumnSpacingProperty

Определяет свойство зависимости MinColumnSpacing .

MinItemHeight

Возвращает или задает минимальную высоту каждого элемента.

MinItemHeightProperty

Определяет свойство зависимости MinItemHeight .

MinItemWidth

Возвращает или задает минимальную ширину каждого элемента.

MinItemWidthProperty

Определяет свойство зависимости MinItemWidth .

MinRowSpacing

Возвращает или задает минимальное пространство между элементами на вертикальной оси.

MinRowSpacingProperty

Определяет свойство зависимости MinRowSpacing .

Orientation

Возвращает или задает ось, вдоль которой размещаются элементы.

OrientationProperty

Определяет свойство зависимости Orientation .

Методы

Arrange(LayoutContext, Size)

Позиционирует дочерние элементы и определяет размер объекта UIElement контейнера. Элементы контейнера, поддерживающие присоединенные макеты, должны вызывать этот метод из реализаций переопределения макета, чтобы сформировать рекурсивное обновление макета.

(Унаследовано от Layout)
ArrangeOverride(VirtualizingLayoutContext, Size)

При реализации в производном классе предоставляет поведение для прохода "Упорядочить" макета. Классы могут переопределить этот метод, чтобы определить собственное поведение передачи "Упорядочить".

(Унаследовано от VirtualizingLayout)
ClearValue(DependencyProperty)

Очищает локальное значение свойства зависимостей.

(Унаследовано от DependencyObject)
CreateDefaultItemTransitionProvider()

Размещает элементы последовательно слева направо или сверху вниз в макете упаковки.

(Унаследовано от Layout)
GetAnimationBaseValue(DependencyProperty)

Возвращает любое базовое значение, установленное для свойства зависимостей, которое применяется в случаях, когда анимация не активна.

(Унаследовано от DependencyObject)
GetValue(DependencyProperty)

Возвращает текущее действующее значение свойства зависимостей из DependencyObject.

(Унаследовано от DependencyObject)
InitializeForContext(LayoutContext)

Инициализирует любое состояние каждого контейнера, требуемое макетом при присоединении к контейнеру UIElement.

(Унаследовано от Layout)
InitializeForContextCore(VirtualizingLayoutContext)

При переопределении в производном классе инициализирует все состояния каждого контейнера, необходимые макету при присоединении к контейнеру UIElement.

(Унаследовано от VirtualizingLayout)
InvalidateArrange()

Делает недействительным состояние размещения (макет) для всех контейнеров UIElement, ссылающихся на этот макет. После недействительности макет UIElement будет обновлен, что происходит асинхронно.

(Унаследовано от Layout)
InvalidateMeasure()

Делает недействительным состояние измерения (макет) для всех контейнеров UIElement, ссылающихся на этот макет.

(Унаследовано от Layout)
Measure(LayoutContext, Size)

Предлагает DesiredSize для элемента контейнера. Элемент контейнера, поддерживающий присоединенные макеты, должен вызывать этот метод из собственных реализаций MeasureOverride для формирования рекурсивного обновления макета. Ожидается, что присоединенный макет вызовет measure для каждого из дочерних элементов UIElement контейнера.

(Унаследовано от Layout)
MeasureOverride(VirtualizingLayoutContext, Size)

Обеспечивает поведение для прохода "Measure" цикла макета. Классы могут переопределить этот метод, чтобы определить собственное поведение передачи "Measure".

(Унаследовано от VirtualizingLayout)
OnItemsChangedCore(VirtualizingLayoutContext, Object, NotifyCollectionChangedEventArgs)

Уведомляет макет при изменении коллекции данных, назначенной элементу контейнера (ItemsSource).

(Унаследовано от VirtualizingLayout)
ReadLocalValue(DependencyProperty)

Возвращает локальное значение свойства зависимостей, если задано локальное значение.

(Унаследовано от DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Регистрирует функцию уведомления для прослушивания изменений определенной DependencyProperty в этом экземпляре DependencyObject .

(Унаследовано от DependencyObject)
SetIndexBasedLayoutOrientation(IndexBasedLayoutOrientation)

Задает значение свойства IndexBasedLayoutOrientation.

(Унаследовано от Layout)
SetValue(DependencyProperty, Object)

Задает локальное значение свойства зависимостей для Объекта DependencyObject.

(Унаследовано от DependencyObject)
UninitializeForContext(LayoutContext)

Удаляет все состояния макета, ранее хранящиеся в контейнере UIElement.

(Унаследовано от Layout)
UninitializeForContextCore(VirtualizingLayoutContext)

При переопределении в производном классе удаляет все состояния макета, ранее хранящиеся в контейнере UIElement.

(Унаследовано от VirtualizingLayout)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Отменяет уведомление об изменениях, которое было ранее зарегистрировано путем вызова метода RegisterPropertyChangedCallback.

(Унаследовано от DependencyObject)

События

ArrangeInvalidated

Происходит, когда состояние размещения (макет) было признано недействительным.

(Унаследовано от Layout)
MeasureInvalidated

Происходит, когда состояние измерения (макет) было признано недействительным.

(Унаследовано от Layout)

Применяется к

См. также раздел