Bagikan melalui


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(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [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(Microsoft.UI.Xaml.WinUIContract), 65536)]
[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

Contoh

Tip

Untuk informasi selengkapnya, panduan desain, dan contoh kode, lihat Kedalaman dan bayangan Z.

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 dari 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 boleh 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 elevasi 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

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