AdaptiveTrigger Kelas

Definisi

Mewakili aturan deklaratif yang menerapkan status visual berdasarkan properti jendela.

/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class AdaptiveTrigger : StateTriggerBase
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class AdaptiveTrigger : StateTriggerBase
Public Class AdaptiveTrigger
Inherits StateTriggerBase
<AdaptiveTrigger .../>
Warisan
Object IInspectable DependencyObject StateTriggerBase AdaptiveTrigger
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)

Contoh

Tip

Untuk informasi selengkapnya, panduan desain, dan contoh kode, lihat Tata letak responsif dengan XAML.

Jika Anda memiliki aplikasi WinUI 2 Gallery yang terinstal, buka aplikasi untuk melihat kontrol yang sedang berjalan.

Contoh ini menunjukkan cara menggunakan properti StateTriggers dengan AdaptiveTrigger untuk membuat aturan deklaratif dalam markup XAML berdasarkan ukuran jendela. Secara default, orientasi StackPanel adalah Vertikal. Saat lebar jendela = >720 piksel efektif, perubahan VisualState dipicu, dan orientasi StackPanel diubah menjadi Horizontal.

<Page>
    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <VisualStateManager.VisualStateGroups>
            <VisualStateGroup>
                <VisualState>
                    <VisualState.StateTriggers>
                    <!--VisualState to be triggered when window width is >=720 effective pixels.-->
                        <AdaptiveTrigger MinWindowWidth="720"/>
                    </VisualState.StateTriggers>

                    <VisualState.Setters>
                        <Setter Target="myPanel.Orientation" Value="Horizontal"/>
                    </VisualState.Setters>
                </VisualState>
            </VisualStateGroup>
        </VisualStateManager.VisualStateGroups>
        <StackPanel x:Name="myPanel" Orientation="Vertical">
            <TextBlock Text="This is a block of text. It is text block 1. " 
                       Style="{ThemeResource BodyTextBlockStyle}"/>
            <TextBlock Text="This is a block of text. It is text block 2. " 
                       Style="{ThemeResource BodyTextBlockStyle}"/>
            <TextBlock Text="This is a block of text. It is text block 3. " 
                       Style="{ThemeResource BodyTextBlockStyle}"/>
        </StackPanel>
    </Grid>
</Page>

Untuk sampel yang lebih rinci, lihat sampel Pemicu status.

Keterangan

Gunakan AdaptiveTriggers untuk membuat aturan yang secara otomatis memicu perubahan VisualState saat jendela adalah tinggi atau lebar yang ditentukan. Saat Anda menggunakan AdaptiveTriggers di markup XAML, Anda tidak perlu menangani peristiwa Window.SizeChanged dan memanggil VisualStateManager.GoToState dalam kode Anda. Selain itu, saat Anda menggunakan AdaptiveTriggers di VisualStateManager, Anda dapat melihat efek perubahan adaptif ini langsung pada permukaan desain XAML di Microsoft Visual Studio.

Anda dapat menggunakan properti MinWindowWidth dan MinWindowHeight baik secara independen atau bersama satu sama lain. XAML ini menunjukkan contoh penggunaan kedua properti bersama-sama. Pemicu menunjukkan bahwa VisualState yang sesuai akan diterapkan ketika lebar jendela saat ini adalah >= 720 piksel efektif DAN tinggi jendela saat ini adalah >= 900 piksel efektif.

<AdaptiveTrigger MinWindowWidth="720" MinWindowHeight="900"/>

Konstruktor

AdaptiveTrigger()

Menginisialisasi instans baru kelas AdaptiveTrigger

Properti

Dispatcher

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

(Diperoleh dari DependencyObject)
MinWindowHeight

Mendapatkan atau mengatur tinggi jendela minimum tempat VisualState harus diterapkan.

MinWindowHeightProperty

Mengidentifikasi properti dependensi MinWindowHeight .

MinWindowWidth

Mendapatkan atau mengatur lebar jendela minimum tempat VisualState harus diterapkan.

MinWindowWidthProperty

Mengidentifikasi properti dependensi MinWindowWidth .

Metode

ClearValue(DependencyProperty)

Menghapus nilai lokal properti dependensi.

(Diperoleh dari DependencyObject)
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)
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)
SetActive(Boolean)

Mengatur nilai yang menunjukkan apakah pemicu status aktif.

(Diperoleh dari StateTriggerBase)
SetValue(DependencyProperty, Object)

Mengatur nilai lokal properti dependensi pada DependencyObject.

(Diperoleh dari DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Membatalkan pemberitahuan perubahan yang sebelumnya terdaftar dengan memanggil RegisterPropertyChangedCallback.

(Diperoleh dari DependencyObject)

Berlaku untuk

Lihat juga