Flyout Kelas

Definisi

Mewakili kontrol yang menampilkan UI ringan yang merupakan informasi, atau memerlukan interaksi pengguna. Tidak seperti dialog, Flyout dapat dimatikan dengan mengklik atau mengetuk di luarnya, menekan tombol kembali perangkat, atau menekan tombol 'Esc'.

/// [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)]
/// [Windows.UI.Xaml.Markup.ContentProperty(Name="Content")]
class Flyout : FlyoutBase
[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)]
[Windows.UI.Xaml.Markup.ContentProperty(Name="Content")]
public class Flyout : FlyoutBase
Public Class Flyout
Inherits FlyoutBase
<Flyout>
    singleUIElement
</Flyout>

Warisan
Object IInspectable DependencyObject FlyoutBase Flyout
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 Flyout.

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

Keterangan

Flyout menampilkan pesan yang memerlukan interaksi pengguna.

Kontrol flyout

Gunakan kontrol Flyout untuk mengumpulkan informasi, untuk menampilkan info selengkapnya, atau untuk peringatan dan konfirmasi. Tidak seperti dialog, Flyout tidak membuat jendela terpisah, dan tidak memblokir interaksi pengguna lain. Untuk menampilkan menu item, gunakan MenuFlyout sebagai gantinya. Untuk informasi selengkapnya, termasuk contoh XAML dan kode, lihat Mulai Cepat: Menambahkan Flyout.

Kontrol Flyout (atau MenuFlyout) digunakan sebagai nilai properti Button.Flyout . Ini biasanya diatur dalam XAML sebagai bagian dari definisi UI halaman. Tombol adalah satu-satunya kontrol yang memiliki properti Flyout khusus. Untuk mengaitkan Flyout dengan kontrol lain, gunakan properti terlampir FlyoutBase.AttachedFlyout . Saat diatur sebagai Button.Flyout, Flyout akan ditampilkan saat tombol diketuk atau dipanggil. Saat Flyout ditetapkan ke elemen UI lain menggunakan FlyoutBase.AttachedFlyout, Anda harus memanggil metode ShowAt atau metode ShowAttachedFlyout statis untuk menampilkan flyout.

Selain anggota yang tercantum dalam topik referensi ini, ada anggota lain dari kelas dasar FlyoutBase yang sering digunakan dalam skenario Flyout umum:

Aksesibilitas

Jika Anda menggunakan Flyout tanpa konten yang dapat difokuskan-misalnya, hanya dengan teks, seperti yang ditunjukkan di sini- Anda harus mengambil beberapa langkah tambahan untuk memastikan bahwa konten Anda dapat diakses. Secara khusus, Anda perlu memastikan bahwa Windows Narrator atau pembaca layar lainnya dapat membaca konten flyout.

Kontrol flyout dengan konten teks

Secara default, ada properti yang diatur pada FlyoutPresenter yang mencegahnya menerima fokus. Ini adalah perilaku yang diinginkan ketika konten di dalam Flyout dapat menerima fokus. Namun, jika konten di dalam Flyout tidak dapat menerima fokus, Anda harus memperbarui ke FlyoutPresenterStyle untuk membiarkan FlyoutPresenter menerima fokus sebagai gantinya. Untuk melakukan ini, atur IsTabStop ke true dan TabNavigation ke Siklus pada gaya penyaji flyout.

Contoh ini menunjukkan cara membiarkan FlyoutPresenter menerima fokus sehingga konten dapat diakses.

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Button VerticalAlignment="Center" HorizontalAlignment="Center"
            Content="Open flyout">
        <Button.Flyout>
            <Flyout>
                <Flyout.FlyoutPresenterStyle>
                    <Style TargetType="FlyoutPresenter">
                        <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Disabled"/>
                        <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"/>
                        <Setter Property="IsTabStop" Value="True"/>
                        <Setter Property="TabNavigation" Value="Cycle"/>
                    </Style>
                </Flyout.FlyoutPresenterStyle>
                <TextBlock TextWrapping="Wrap" Text="This is some text in a flyout."/>
            </Flyout>
        </Button.Flyout>
    </Button>
</Grid>

Konstruktor

Flyout()

Menginisialisasi instans baru kelas Flyout .

Properti

AllowFocusOnInteraction

Mendapatkan atau menetapkan nilai yang menunjukkan apakah elemen secara otomatis mendapatkan fokus saat pengguna berinteraksi dengannya.

(Diperoleh dari FlyoutBase)
AllowFocusWhenDisabled

Mendapatkan atau mengatur nilai yang menentukan apakah kontrol dapat menerima fokus saat dinonaktifkan.

(Diperoleh dari FlyoutBase)
AreOpenCloseAnimationsEnabled

Mendapatkan atau mengatur nilai yang menunjukkan apakah animasi diputar saat flyout dibuka atau ditutup.

(Diperoleh dari FlyoutBase)
Content

Mendapatkan atau mengatur konten Flyout.

ContentProperty

Mendapatkan pengidentifikasi untuk properti dependensi Konten .

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)
ElementSoundMode

Mendapatkan atau mengatur nilai yang menentukan preferensi kontrol untuk apakah ia memutar suara.

(Diperoleh dari FlyoutBase)
FlyoutPresenterStyle

Mendapatkan atau mengatur Gaya yang diterapkan ke konten Flyout .

FlyoutPresenterStyleProperty

Mendapatkan pengidentifikasi untuk properti dependensi FlyoutPresenterStyle .

InputDevicePrefersPrimaryCommands

Mendapatkan nilai yang menunjukkan apakah perangkat input yang digunakan untuk membuka flyout tidak dengan mudah membuka perintah sekunder.

(Diperoleh dari FlyoutBase)
IsConstrainedToRootBounds

Mendapatkan nilai yang menunjukkan apakah flyout ditampilkan dalam batas akar XAML.

(Diperoleh dari FlyoutBase)
IsOpen

Mendapatkan nilai yang menunjukkan apakah flyout terbuka.

(Diperoleh dari FlyoutBase)
LightDismissOverlayMode

Mendapatkan atau menetapkan nilai yang menentukan apakah area di luar UI pengalihan cahaya digelapkan.

(Diperoleh dari FlyoutBase)
OverlayInputPassThroughElement

Mendapatkan atau mengatur elemen yang harus menerima peristiwa input pointer bahkan ketika di bawah overlay flyout.

(Diperoleh dari FlyoutBase)
Placement

Mendapatkan atau menetapkan penempatan default yang akan digunakan untuk flyout, sehubungan dengan target penempatannya.

(Diperoleh dari FlyoutBase)
ShouldConstrainToRootBounds

Mendapatkan atau menetapkan nilai yang menunjukkan apakah flyout harus ditampilkan dalam batas akar XAML.

(Diperoleh dari FlyoutBase)
ShowMode

Mendapatkan atau menetapkan nilai yang menunjukkan bagaimana flyout berperilaku saat ditampilkan.

(Diperoleh dari FlyoutBase)
Target

Mendapatkan elemen untuk digunakan sebagai target penempatan flyout.

(Diperoleh dari FlyoutBase)
XamlRoot

Mendapatkan atau mengatur XamlRoot tempat flyout ini dilihat.

(Diperoleh dari FlyoutBase)

Metode

ClearValue(DependencyProperty)

Menghapus nilai lokal properti dependensi.

(Diperoleh dari DependencyObject)
CreatePresenter()

Saat ditimpa di kelas turunan, menginisialisasi kontrol untuk menampilkan konten flyout yang sesuai untuk kontrol turunan. Catatan: Metode ini tidak memiliki implementasi kelas dasar dan harus ditimpa dalam kelas turunan.

(Diperoleh dari FlyoutBase)
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)
Hide()

Menutup flyout.

(Diperoleh dari FlyoutBase)
OnProcessKeyboardAccelerators(ProcessKeyboardAcceleratorEventArgs)

Dipanggil tepat sebelum pintasan keyboard (akselerator) diproses di aplikasi Anda. Dipanggil setiap kali kode aplikasi atau proses internal memanggil ProcessKeyboardAccelerators. Ambil alih metode ini untuk memengaruhi penanganan akselerator default.

(Diperoleh dari FlyoutBase)
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)
SetValue(DependencyProperty, Object)

Mengatur nilai lokal properti dependensi pada DependencyObject.

(Diperoleh dari DependencyObject)
ShowAt(DependencyObject, FlyoutShowOptions)

Memperlihatkan flyout yang ditempatkan sehubungan dengan elemen yang ditentukan menggunakan opsi yang ditentukan.

(Diperoleh dari FlyoutBase)
ShowAt(FrameworkElement)

Memperlihatkan flyout yang ditempatkan dalam kaitannya dengan elemen yang ditentukan.

(Diperoleh dari FlyoutBase)
TryInvokeKeyboardAccelerator(ProcessKeyboardAcceleratorEventArgs)

Mencoba memanggil pintasan keyboard (akselerator).

(Diperoleh dari FlyoutBase)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Membatalkan pemberitahuan perubahan yang sebelumnya terdaftar dengan memanggil RegisterPropertyChangedCallback.

(Diperoleh dari DependencyObject)

Acara

Closed

Terjadi ketika flyout disembunyikan.

(Diperoleh dari FlyoutBase)
Closing

Terjadi ketika flyout mulai disembunyikan.

(Diperoleh dari FlyoutBase)
Opened

Terjadi ketika flyout ditampilkan.

(Diperoleh dari FlyoutBase)
Opening

Terjadi sebelum flyout ditampilkan.

(Diperoleh dari FlyoutBase)

Berlaku untuk

Lihat juga