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.LayoutItemsRepeater.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

始终在Windows 应用 SDK应用中返回 null 。 请改用 DispatcherQueue

(继承自 DependencyObject)
DispatcherQueue

DispatcherQueue获取与此对象关联的 。 表示 DispatcherQueue 一个可以在 UI 线程上访问 DependencyObject 的设施,即使代码是由非 UI 线程启动的。

(继承自 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 实现中调用此方法,以形成递归布局更新。 附加的布局应为每个容器的 UIElement 子级调用 Measure。

(继承自 Layout)
MeasureOverride(VirtualizingLayoutContext, Size)

为布局周期的“度量”传递提供行为。 类可以重写此方法以定义其自己的“Measure”传递行为。

(继承自 VirtualizingLayout)
OnItemsChangedCore(VirtualizingLayoutContext, Object, NotifyCollectionChangedEventArgs)

当分配给容器元素的数据收集 (ItemsSource) 发生更改时通知布局。

(继承自 VirtualizingLayout)
ReadLocalValue(DependencyProperty)

如果设置了本地值,则返回依赖属性的本地值。

(继承自 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

注册通知函数,用于侦听此 DependencyObject 实例上对特定 DependencyProperty 的更改。

(继承自 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)

适用于

另请参阅