Share via


UniformGridLayout Kelas

Definisi

Memposisikan elemen secara berurutan dari kiri ke kanan atau atas ke bawah dalam tata letak pembungkusan.

/// [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
Warisan
Object IInspectable DependencyObject Layout VirtualizingLayout UniformGridLayout
Atribut
Microsoft.UI.Xaml.CustomAttributes.MUXContractPropertyAttribute Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackAttribute Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackMethodNameAttribute MarshalingBehaviorAttribute ThreadingAttribute VersionAttribute ContractVersionAttribute

Contoh

Tip

Untuk informasi selengkapnya, panduan desain, dan contoh kode, lihat ItemsRepeater.

Aplikasi WinUI 3 Gallery mencakup contoh interaktif sebagian besar kontrol, fitur, dan fungsi WinUI 3. Dapatkan aplikasi dari Microsoft Store atau dapatkan kode sumber di GitHub.

Contoh berikut menunjukkan cara mengatur properti ItemsRepeater.Layout ke 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>

Keterangan

Item ditata secara berurutan dari kiri ke kanan saat Orientasi adalah Horizontal, dan ditata dari atas ke bawah saat Orientasi adalah Vertical.

Setiap item dalam UniformGridLayout berukuran sama.

UniformGridLayout mendukung virtualisasi ketika dilampirkan ke host yang mendukung virtualisasi.

Konstruktor

UniformGridLayout()

Menginisialisasi instans baru kelas UniformGridLayout .

Properti

Dispatcher

Selalu kembali null di aplikasi SDK Aplikasi Windows. Gunakan DispatcherQueue sebagai gantinya.

(Diperoleh dari DependencyObject)
DispatcherQueue

DispatcherQueue Mendapatkan yang dikaitkan dengan objek ini. DispatcherQueue mewakili fasilitas yang dapat mengakses DependencyObject pada utas UI bahkan jika kode dimulai oleh utas non-UI.

(Diperoleh dari DependencyObject)
IndexBasedLayoutOrientation

Mendapatkan orientasi, jika ada, di mana item ditata berdasarkan indeksnya dalam koleksi sumber.

(Diperoleh dari Layout)
ItemsJustification

Mendapatkan atau menetapkan nilai yang menunjukkan bagaimana item diratakan pada sumbu non-gulir atau non-virtualisasi.

ItemsJustificationProperty

Mengidentifikasi properti dependensi ItemsJustification .

ItemsStretch

Mendapatkan atau menetapkan nilai yang menunjukkan bagaimana item berukuran untuk mengisi ruang yang tersedia.

ItemsStretchProperty

Mengidentifikasi properti dependensi ItemsStretch .

MaximumRowsOrColumns

Mendapatkan atau mengatur jumlah maksimum item yang dirender per baris atau kolom, berdasarkan orientasi UniformGridLayout.

MaximumRowsOrColumnsProperty

Mengidentifikasi properti dependensi MaximumRowsOrColumns .

MinColumnSpacing

Mendapatkan atau mengatur ruang minimum di antara item pada sumbu horizontal.

MinColumnSpacingProperty

Mengidentifikasi properti dependensi MinColumnSpacing .

MinItemHeight

Mendapatkan atau mengatur tinggi minimum setiap item.

MinItemHeightProperty

Mengidentifikasi properti dependensi MinItemHeight .

MinItemWidth

Mendapatkan atau mengatur lebar minimum setiap item.

MinItemWidthProperty

Mengidentifikasi properti dependensi MinItemWidth .

MinRowSpacing

Mendapatkan atau mengatur ruang minimum di antara item pada sumbu vertikal.

MinRowSpacingProperty

Mengidentifikasi properti dependensi MinRowSpacing .

Orientation

Mendapatkan atau mengatur sumbu di mana item ditata.

OrientationProperty

Mengidentifikasi properti dependensi Orientasi .

Metode

Arrange(LayoutContext, Size)

Memposisikan elemen anak dan menentukan ukuran untuk UIElement kontainer. Elemen kontainer yang mendukung tata letak terlampir harus memanggil metode ini dari implementasi penimpaan tata letaknya untuk membentuk pembaruan tata letak rekursif.

(Diperoleh dari Layout)
ArrangeOverride(VirtualizingLayoutContext, Size)

Saat diimplementasikan di kelas turunan, berikan perilaku untuk pass tata letak "Susun". Kelas dapat mengambil alih metode ini untuk menentukan perilaku pass "Arrange" mereka sendiri.

(Diperoleh dari VirtualizingLayout)
ClearValue(DependencyProperty)

Menghapus nilai lokal properti dependensi.

(Diperoleh dari DependencyObject)
CreateDefaultItemTransitionProvider()

Memposisikan elemen secara berurutan dari kiri ke kanan atau atas ke bawah dalam tata letak pembungkusan.

(Diperoleh dari Layout)
GetAnimationBaseValue(DependencyProperty)

Mengembalikan nilai dasar apa pun yang ditetapkan untuk properti dependensi, yang akan berlaku dalam kasus di mana animasi tidak aktif.

(Diperoleh dari DependencyObject)
GetValue(DependencyProperty)

Mengembalikan nilai efektif properti dependensi saat ini dari DependencyObject.

(Diperoleh dari DependencyObject)
InitializeForContext(LayoutContext)

Menginisialisasi status per kontainer yang diperlukan tata letak saat dilampirkan ke kontainer UIElement.

(Diperoleh dari Layout)
InitializeForContextCore(VirtualizingLayoutContext)

Ketika ditimpa di kelas turunan, menginisialisasi status per kontainer yang diperlukan tata letak saat dilampirkan ke kontainer UIElement.

(Diperoleh dari VirtualizingLayout)
InvalidateArrange()

Membatalkan status susun (tata letak) untuk semua kontainer UIElement yang mereferensikan tata letak ini. Setelah pembatalan, UIElement akan memperbarui tata letaknya, yang terjadi secara asinkron.

(Diperoleh dari Layout)
InvalidateMeasure()

Membatalkan status pengukuran (tata letak) untuk semua kontainer UIElement yang mereferensikan tata letak ini.

(Diperoleh dari Layout)
Measure(LayoutContext, Size)

Menyarankan DesiredSize untuk elemen kontainer. Elemen kontainer yang mendukung tata letak terlampir harus memanggil metode ini dari implementasi MeasureOverride mereka sendiri untuk membentuk pembaruan tata letak rekursif. Tata letak terlampir diharapkan memanggil Pengukuran untuk setiap anak UIElement kontainer.

(Diperoleh dari Layout)
MeasureOverride(VirtualizingLayoutContext, Size)

Menyediakan perilaku untuk pass "Pengukuran" dari siklus tata letak. Kelas dapat mengambil alih metode ini untuk menentukan perilaku pass "Pengukuran" mereka sendiri.

(Diperoleh dari VirtualizingLayout)
OnItemsChangedCore(VirtualizingLayoutContext, Object, NotifyCollectionChangedEventArgs)

Memberi tahu tata letak ketika pengumpulan data yang ditetapkan ke elemen kontainer (ItemsSource) telah berubah.

(Diperoleh dari VirtualizingLayout)
ReadLocalValue(DependencyProperty)

Mengembalikan nilai lokal properti dependensi, jika nilai lokal ditetapkan.

(Diperoleh dari DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Mendaftarkan fungsi pemberitahuan untuk mendengarkan perubahan pada DependencyProperty tertentu pada instans DependencyObject ini.

(Diperoleh dari DependencyObject)
SetIndexBasedLayoutOrientation(IndexBasedLayoutOrientation)

Mengatur nilai IndexBasedLayoutOrientation properti .

(Diperoleh dari Layout)
SetValue(DependencyProperty, Object)

Mengatur nilai lokal properti dependensi pada DependencyObject.

(Diperoleh dari DependencyObject)
UninitializeForContext(LayoutContext)

Menghapus status apa pun yang sebelumnya disimpan tata letak pada kontainer UIElement.

(Diperoleh dari Layout)
UninitializeForContextCore(VirtualizingLayoutContext)

Saat ditimpa di kelas turunan, menghapus status apa pun yang sebelumnya disimpan tata letak pada kontainer UIElement.

(Diperoleh dari VirtualizingLayout)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Membatalkan pemberitahuan perubahan yang sebelumnya terdaftar dengan memanggil RegisterPropertyChangedCallback.

(Diperoleh dari DependencyObject)

Acara

ArrangeInvalidated

Terjadi ketika status susunan (tata letak) tidak valid.

(Diperoleh dari Layout)
MeasureInvalidated

Terjadi ketika status pengukuran (tata letak) telah dibatalkan.

(Diperoleh dari Layout)

Berlaku untuk

Lihat juga