語言

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

範例

Tip

欲了解更多資訊、設計指導及程式碼範例,請參閱 ItemsRepeater。

WinUI 3 Gallery 應用程式包含大部分 WinUI 3 控制項、特性和功能的互動式範例。 從 Microsoft Store 取得應用程式,或在 GitHub 上取得原始程式碼。

以下範例說明如何將 ItemsRepeater.Layout 屬性設定為 UniformGridLayout。

<ItemsRepeater ItemsSource="{x:Bind Items}"
                    ItemTemplate="{StaticResource MyTemplate}">
    <ItemsRepeater.Layout>
        <UniformGridLayout MinItemWidth="200"
                                MinColumnSpacing="28"
                                ItemsJustification="SpaceAround"/>
    </ItemsRepeater.Layout>
</ItemsRepeater>

備註

當 方向為Horizontal時,項目依左至右排列;當 方向為Vertical時,則由上到下排列。

UniformGridLayout 中的每個項目大小都一樣。

UniformGridLayout 在連接到支援虛擬化的主機時,支援虛擬化。

建構函式

名稱 Description
UniformGridLayout()

初始化 UniformGridLayout 類別的新實例。

屬性

名稱 Description
Dispatcher

它總是在 Windows 應用程式 SDK 應用程式中回傳 null 。 改用 DispatcherQueue 。

(繼承來源 DependencyObject)
DispatcherQueue

得到 DispatcherQueue 這個物件所關聯的那個。 代表 DispatcherQueue 一個功能,即使程式碼是由非 UI 執行緒發起,也能存取 UI DependencyObject 執行緒。

(繼承來源 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

識別 方向依賴性質 。

方法

名稱 Description
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 容器的 arrange 狀態(layout)失效。 失效後,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 狀態。

(繼承來源 Layout)
UninitializeForContextCore(VirtualizingLayoutContext)

當在衍生類別中覆寫時,會移除 layout 先前儲存在 UIElement 容器中的任何狀態。

(繼承來源 VirtualizingLayout)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

取消先前透過呼叫 RegisterPropertyChangedCallback 註冊的變更通知。

(繼承來源 DependencyObject)

事件

名稱 Description
ArrangeInvalidated

當排列狀態(佈局)被失效時發生。

(繼承來源 Layout)
MeasureInvalidated

當測量狀態(佈局)失效時,會發生這種情況。

(繼承來源 Layout)

適用於

另請參閱