Share via


ThemeShadow Kelas

Definisi

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
Object IInspectable DependencyObject Shadow ThemeShadow
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

  1. Batasi jumlah elemen penerima kustom hingga minimum yang diperlukan.

  2. Jika beberapa elemen penerima berada pada ketinggian yang sama, coba gabungkan dengan menargetkan satu elemen induk sebagai gantinya.

  3. 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)

Berlaku untuk

Lihat juga