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
- Наследование
- Атрибуты
-
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 предоставляет свойства для управления:
- размер и интервалы элементов (LineHeight, LineSpacing, MinItemSpacing)
- расположение элементов (ItemsJustification, ItemsStretch)
Конструкторы
LinedFlowLayout() |
Инициализирует новый экземпляр класса LinedFlowLayout . |
Свойства
ActualLineHeight |
Получает эффективную фиксированную высоту линий. |
ActualLineHeightProperty |
Определяет свойство зависимости ActualLineHeight . |
Dispatcher |
Всегда возвращается |
DispatcherQueue |
Возвращает объект , |
IndexBasedLayoutOrientation |
Возвращает ориентацию, если она есть, в которой элементы размещаются на основе их индекса в исходной коллекции. (Унаследовано от Layout) |
ItemsJustification |
Возвращает или задает значение, указывающее, как элементы выравниваются по горизонтальной оси. |
ItemsJustificationProperty |
Определяет свойство зависимости ItemsJustification . |
ItemsStretch |
Возвращает или задает значение, указывающее размер элементов для заполнения доступного пространства. |
ItemsStretchProperty |
Определяет свойство зависимости ItemsStretch . |
LineHeight |
Возвращает или задает линии фиксированной высоты. |
LineHeightProperty |
Определяет свойство зависимости LineHeight . |
LineSpacing |
Возвращает или задает вертикальное пространство между элементами. |
LineSpacingProperty |
Определяет свойство зависимости LineSpacing . |
MinItemSpacing |
Возвращает или задает минимальное пространство между элементами на горизонтальной оси. |
MinItemSpacingProperty |
Определяет свойство зависимости MinItemSpacing . |
RequestedRangeLength |
Возвращает количество элементов, в которых в настоящее время используются сведения о размере, предоставляемые событием ItemsInfoRequested . |
RequestedRangeStartIndex |
Возвращает наименьший индекс элементов, использующих сведения о размере, предоставляемые событием ItemsInfoRequested . Значение -1 указывает, что сведения о размере из |
Методы
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() |
Вызывает |
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) |
Задает значение свойства |
SetValue(DependencyProperty, Object) |
Задает локальное значение свойства зависимостей для Объекта DependencyObject. (Унаследовано от DependencyObject) |
UninitializeForContext(LayoutContext) |
Удаляет все состояния макета, ранее хранящиеся в контейнере UIElement. (Унаследовано от Layout) |
UninitializeForContextCore(VirtualizingLayoutContext) |
При переопределении в производном классе удаляет все состояния макета, ранее хранящиеся в контейнере UIElement. (Унаследовано от VirtualizingLayout) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Отменяет уведомление об изменениях, которое было ранее зарегистрировано путем вызова метода RegisterPropertyChangedCallback. (Унаследовано от DependencyObject) |
События
ArrangeInvalidated |
Происходит, когда состояние размещения (макет) было признано недействительным. (Унаследовано от Layout) |
ItemsInfoRequested |
Происходит, когда требуется |
ItemsUnlocked |
Происходит при повторной разблокировке элементов, заблокированных в определенных строках с помощью вызовов метода LockItemToLine . |
MeasureInvalidated |
Происходит, когда состояние измерения (макет) было признано недействительным. (Унаследовано от Layout) |
Применяется к
См. также раздел
- ItemsView
- <xref:Microsoft.UI.Xaml.Controls.ItemsRepeater+T%3aMicrosoft.UI.Xaml.Controls.StackLayout>
- UniformGridLayout