LinedFlowLayout Класс

Определение

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

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

Комментарии

LinedFlowLayout последовательно размещает элементы слева направо, а затем сверху вниз в макете упаковки. Используйте этот макет для отображения коллекции элементов, где элементы имеют фиксированную высоту, но переменную ширину. Мы рекомендуем использовать его для коллекций на основе образов. В этом макете также есть встроенные анимации, которые вступают в игру при добавлении или удалении элементов коллекции, а также при изменении размера представления.

Чтобы использовать LinedFlowLayout, задайте его в качестве значения для свойств ItemsView.Layout или ItemsRepeater.Layout .

Ниже приведен элемент управления ItemsView , который показывает коллекцию фотографий в макете потока с линией.

<ItemsView Width="500" Height="400" HorizontalAlignment="Left"
           ItemTemplate="{StaticResource LinedFlowLayoutItemTemplate}">
    <ItemsView.Layout>
        <LinedFlowLayout ItemsStretch="Fill" 
                         LineHeight="160" 
                         LineSpacing="5"
                         MinItemSpacing="5"/>
    </ItemsView.Layout>
</ItemsView>

Коллекция фотографий, показанная в макете потока с линией, где каждый элемент имеет одинаковую высоту, но ширина зависит от исходного размера пропорций фотографии.

LinedFlowLayout предоставляет свойства для управления:

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

LinedFlowLayout()

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

Свойства

ActualLineHeight

Получает эффективную фиксированную высоту линий.

ActualLineHeightProperty

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

Dispatcher

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

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

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

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

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

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

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

ItemsJustificationProperty

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

ItemsStretch

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

ItemsStretchProperty

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

LineHeight

Возвращает или задает линии фиксированной высоты.

LineHeightProperty

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

LineSpacing

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

LineSpacingProperty

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

MinItemSpacing

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

MinItemSpacingProperty

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

RequestedRangeLength

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

RequestedRangeStartIndex

Возвращает наименьший индекс элементов, использующих сведения о размере, предоставляемые событием ItemsInfoRequested . Значение -1 указывает, что сведения о размере из ItemsInfoRequested не используются.

Методы

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)
InvalidateItemsInfo()

Вызывает LinedFlowLayout перезахлопотку своих элементов.

InvalidateMeasure()

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

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

Извлекает индекс строки, которой принадлежит элемент с предоставленным индексом. Затем этот элемент гарантированно будет отображаться в возвращаемой строке, пока не будет вызвано событие ItemsUnlocked .

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)
ItemsInfoRequested

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

ItemsUnlocked

Происходит при повторной разблокировке элементов, заблокированных в определенных строках с помощью вызовов метода LockItemToLine .

MeasureInvalidated

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

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

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

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