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>

注解

方向 为 时,项按从左到右的顺序进行布局,当方向 HorizontalVertical时,项从上到下布局。

UniformGridLayout 中的每个项的大小相同。

UniformGridLayout 在附加到支持虚拟化的主机时支持虚拟化。

构造函数

UniformGridLayout()

初始化 UniformGridLayout 类的新实例。

属性

Dispatcher

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

(继承自 DependencyObject)
DispatcherQueue

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

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

在派生类中实现时, 提供布局的“排列”传递的行为。 类可以重写此方法以定义自己的“Arrange”传递行为。

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

当布局) 的度量状态 (无效时发生。

(继承自 Layout)

适用于

另请参阅