Bagikan melalui


SystemBackdrop Kelas

Definisi

Kelas dasar untuk latar belakang sistem kustom yang digunakan untuk merender bahan seperti Mica dan Acrylic.

public ref class SystemBackdrop : DependencyObject
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 262144)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SystemBackdrop : DependencyObject
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 262144)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class SystemBackdrop : DependencyObject
Public Class SystemBackdrop
Inherits DependencyObject
Warisan
Object Platform::Object IInspectable DependencyObject SystemBackdrop
Turunan
Atribut

Contoh

Contoh ini menunjukkan kelas backdrop sistem kustom yang diimplementasikan menggunakan MicaController.

Memanggil metode OnTargetConnected dasar menginisialisasi objek konfigurasi default yang dikembalikan oleh GetDefaultSystemBackdropConfiguration untuk mencerminkan perubahan lingkungan yang memengaruhi instans ini SystemBackdrop (ditentukan oleh connectedTarget, XamlRoot).

Meskipun contoh di halaman ini tidak mendukung MicaSystemBackdrop berbagi instans (misalnya, Window1.SystemBackdrop = Window2.SystemBackdrop = myMicaSystemBackdrop), berbagi tersebut MicaBackdrop dimungkinkan dan didukung oleh bawaan dan DesktopAcrylicBackdrop materi. Untuk menerapkan berbagi dalam materi kustom, vektorisasi penyimpanan ISystemBackdropController yang mendukung untuk menyimpan instans terpisah untuk setiap konteks penggunaan (misalnya, melalui peta yang dikunci connectedTarget). Perhatikan bahwa vektorisasi objek konfigurasi default terkait yang SystemBackdrop dikembalikan oleh GetDefaultSystemBackdropConfiguration, memastikan konfigurasi mencerminkan setiap konteks penggunaan saat SystemBackdrop dibagikan.

<Window
    ... >
    <Window.SystemBackdrop>
        <local:MicaSystemBackdrop/>
    </Window.SystemBackdrop>

    <!-- XAML content -->

</Window>
public class MicaSystemBackdrop : SystemBackdrop
{
    MicaController micaController;

    protected override void OnTargetConnected(ICompositionSupportsSystemBackdrop connectedTarget, XamlRoot xamlRoot)
    {
        // Call the base method to initialize the default configuration object.
        base.OnTargetConnected(connectedTarget, xamlRoot);

        // This example does not support sharing MicaSystemBackdrop instances.
        if (micaController is not null)
        {
            throw new Exception("This controller cannot be shared");
        }

        micaController = new MicaController();
        // Set configuration.
        SystemBackdropConfiguration defaultConfig = GetDefaultSystemBackdropConfiguration(connectedTarget, xamlRoot);
        micaController.SetSystemBackdropConfiguration(defaultConfig);
        // Add target.
        micaController.AddSystemBackdropTarget(connectedTarget);
    }

    protected override void OnTargetDisconnected(ICompositionSupportsSystemBackdrop disconnectedTarget)
    {
        base.OnTargetDisconnected(disconnectedTarget);

        micaController.RemoveSystemBackdropTarget(disconnectedTarget);
        micaController = null;
    }
}

Keterangan

Gunakan kelas ini untuk membuat latar belakang sistem kustom. Anda tidak membuat kelas ini secara langsung (perhatikan konstruktor yang dilindungi). Sebagai gantinya, subkelas untuk menambahkan dukungan kustom Anda. Anda juga dapat menggunakan salah satu kelas turunan bawaan, MicaBackdrop dan DesktopAcrylicBackdrop.

Umumnya, materi kustom mengambil alih OnTargetConnected untuk membuat dan mengonfigurasi ISystemBackdropController yang mendukung, yang akan mengelola CompositionBrush yang digunakan untuk mengisi wilayah latar belakang. Penyajian piksel utama kuas dipengaruhi oleh:

Pengontrol bawaan (MicaController dan DesktopAcrylicController) mendukung parameter berikut untuk menyesuaikan tampilannya: FallbackColor, LuminosityOpacity, TintColor, dan TintOpacity. Latar belakang sistem bawaan (MicaBackdrop dan DesktopAcrylicBackdrop) tidak mengekspos FallbackColor atau properti kustomisasi material (TintOpacity, dll). Sebaliknya, mereka mengandalkan konfigurasi Terang/Gelap default dari yang mendasar MicaController dan DesktopAcrylicController. Untuk menyesuaikan properti ini, buat kelas bahan kustom yang berasal dari SystemBackdrop dan mengekspos properti yang diinginkan.

Konstruktor

SystemBackdrop()

Menginisialisasi instans baru kelas SystemBackdrop.

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)

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)
GetDefaultSystemBackdropConfiguration(ICompositionSupportsSystemBackdrop, XamlRoot)

Mengambil objek default SystemBackdropConfiguration yang dapat diteruskan ke ISystemBackdropControllerWithTargets.SetSystemBackdropConfiguration.

GetValue(DependencyProperty)

Mengembalikan nilai efektif properti dependensi saat ini dari DependencyObject.

(Diperoleh dari DependencyObject)
OnDefaultSystemBackdropConfigurationChanged(ICompositionSupportsSystemBackdrop, XamlRoot)

Ambil alih metode ini untuk dipanggil ketika objek dikembalikan oleh GetDefaultSystemBackdropConfiguration perubahan. Ini berguna jika Anda menggunakan kustom SystemBackdropConfiguration.

OnTargetConnected(ICompositionSupportsSystemBackdrop, XamlRoot)

Dipanggil ketika objek ini dilampirkan ke kontainer yang valid; misalnya, saat diatur pada Window.SystemBackdrop.

OnTargetDisconnected(ICompositionSupportsSystemBackdrop)

Dipanggil ketika objek ini dibersihkan dari kontainernya.

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)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Membatalkan pemberitahuan perubahan yang sebelumnya terdaftar dengan memanggil RegisterPropertyChangedCallback.

(Diperoleh dari DependencyObject)

Berlaku untuk

Lihat juga