UniformGridLayout Класс

Определение

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

/// [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
Наследование
Атрибуты
Microsoft.UI.Xaml.CustomAttributes.MUXContractPropertyAttribute Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackAttribute Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackMethodNameAttribute MarshalingBehaviorAttribute ThreadingAttribute VersionAttribute ContractVersionAttribute

Примеры

Совет

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

Приложения из коллекции WinUI 3 и коллекции WinUI 2 включают интерактивные примеры большинства элементов управления, возможностей и функций WinUI 3 и WinUI 2.

Если они уже установлены, откройте их с помощью следующих ссылок: коллекция WinUI 3 или коллекция WinUI 2.

Если они не установлены, вы можете скачать коллекцию WinUI 3 и коллекцию WinUI 2 из Microsoft Store.

Исходный код можно также получить из GitHub (используйте главную ветвь для WinUI 3 и ветвь winui2 для WinUI 2).

В следующем примере показано, как задать для свойства 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 .

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

Свойства

ItemsJustification

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

ItemsJustificationProperty

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

ItemsStretch

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

ItemsStretchProperty

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

MaximumRowsOrColumns

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

MaximumRowsOrColumnsProperty

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

MinColumnSpacing

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

MinColumnSpacingProperty

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

MinItemHeight

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

MinItemHeightProperty

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

MinItemWidth

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

MinItemWidthProperty

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

MinRowSpacing

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

MinRowSpacingProperty

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

Orientation

Получает или задает ось, по которой размещаются элементы.

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

OrientationProperty

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

Методы

Arrange(LayoutContext, Size)

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

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

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

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

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

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

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

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

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

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

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

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

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

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

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

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

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

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

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

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

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

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

События

ArrangeInvalidated

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

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

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

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

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

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