SystemBackdrop Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- 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:
- lingkungan/kebijakan yang ditetapkan melalui SystemBackdropConfiguration
- parameter penampilan bahan, diekspos melalui properti umum seperti ISystemBackdropControllerWithTargets.State (
Active
/Fallback
/HighContrast
) dan properti khusus material seperti MicaController.Kind ().Base
/BaseAlt
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 |
Properti
Dispatcher |
Selalu kembali |
DispatcherQueue |
|
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 |
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 |
OnTargetConnected(ICompositionSupportsSystemBackdrop, XamlRoot) |
Dipanggil ketika objek ini dilampirkan ke kontainer yang valid; misalnya, saat diatur pada |
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk