ThemeShadow 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.
ThemeShadow adalah efek bayangan yang telah dikonfigurasi sebelumnya yang dapat diterapkan ke elemen XAML apa pun untuk menggambar bayangan dengan tepat berdasarkan koordinat x, y, z. ThemeShadow juga secara otomatis menyesuaikan spesifikasi lingkungan lainnya:
- Beradaptasi dengan perubahan pencahayaan, tema pengguna, lingkungan aplikasi, dan shell.
- Elemen Shadows secara otomatis berdasarkan elevasinya.
- Menjaga elemen tetap sinkron saat bergerak dan mengubah elevasi.
- Menjaga bayangan tetap konsisten di seluruh dan di seluruh aplikasi.
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 524288)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ThemeShadow : Shadow
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 524288)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class ThemeShadow : Shadow
Public Class ThemeShadow
Inherits Shadow
- Warisan
- Atribut
Persyaratan Windows
Rangkaian perangkat |
Windows 10, version 1903 (diperkenalkan dalam 10.0.18362.0)
|
API contract |
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v8.0)
|
Contoh
Tip
Untuk informasi selengkapnya, panduan desain, dan contoh kode, lihat Kedalaman dan bayangan Z.
Banyak kontrol umum secara otomatis mentransmisikan bayangan menggunakan ThemeShadow.
Jika Anda memiliki aplikasi WinUI 2 Gallery yang terinstal dan memenuhi persyaratan versi Windows 10 minimum di atas, klik di sini untuk membuka aplikasi dan lihat ThemeShadow beraksi pada kontrol umum.
Keterangan
Tip
Untuk informasi selengkapnya, panduan desain, dan contoh kode, lihat Kedalaman dan bayangan Z.
ThemeShadow dapat diterapkan ke elemen XAML apa pun untuk menggambar bayangan berdasarkan koordinat x, y, dan z relatif antara UIElement caster konseptual dan satu atau beberapa UIElements penerima yang memiliki bayangan caster yang dirender ke dalamnya.
ThemeShadow hanya mendukung bayangan persegi panjang. Untuk efek bayangan kustom, Anda dapat menggunakan DropShadow.
ThemeShadows dalam Popup
ThemeShadow secara otomatis melemparkan bayangan saat diterapkan ke elemen XAML apa pun dalam Popup. Ini akan melemparkan bayangan pada konten latar belakang aplikasi di belakangnya dan Popup terbuka lainnya di bawahnya.
Untuk menggunakan ThemeShadow dengan Popup, gunakan properti UIElement.Shadow untuk menerapkan ThemeShadow ke elemen XAML. Kemudian, tingkatkan elemen dari elemen lain di belakangnya, misalnya dengan menggunakan komponen z properti UIElement.Translation . Untuk sebagian besar antarmuka pengguna Popup, elevasi default yang direkomendasikan relatif terhadap konten latar belakang aplikasi adalah 32 piksel yang efektif.
ThemeShadow dalam elemen lain
Untuk mentransmisikan bayangan dari elemen XAML yang tidak ada dalam Popup, Anda harus secara eksplisit menentukan elemen lain yang dapat menerima bayangan di koleksi ThemeShadow.Receivers . Penerima tidak dapat menjadi leluhur caster di pohon visual.
Praktik terbaik performa untuk ThemeShadow
Batasi jumlah elemen penerima kustom hingga minimum yang diperlukan.
Jika beberapa elemen penerima berada pada ketinggian yang sama, coba gabungkan dengan menargetkan satu elemen induk sebagai gantinya.
Jika beberapa elemen akan melemparkan jenis bayangan yang sama ke elemen penerima yang sama, tambahkan bayangan sebagai sumber daya bersama dan gunakan kembali.
Konstruktor
ThemeShadow() |
Menginisialisasi instans baru kelas ThemeShadow . |
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) |
Receivers |
Mendapatkan kumpulan elemen UI yang dilemparkan ThemeShadow ini. |
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) |
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) |