Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Menyediakan nilai untuk atribut properti XAML apa pun dengan mengalihkan nilai tersebut menjadi referensi ke sumber daya yang ditentukan. Perilaku pencarian untuk sumber daya tersebut mirip dengan pencarian saat runtime.
Penggunaan Atribut XAML
<object property="{DynamicResource key}" ... />
Penggunaan Elemen Properti XAML
<object>
<object.property>
<DynamicResource ResourceKey="key" ... />
</object.property>
</object>
Nilai XAML
| Nilai | Deskripsi |
|---|---|
key |
Kunci untuk sumber daya yang diminta. Kunci ini awalnya ditetapkan oleh x:Key Directive jika sumber daya dibuat dalam markup, atau disediakan sebagai parameter key saat memanggil ResourceDictionary.Add jika sumber daya dibuat dalam kode. |
Komentar
DynamicResource akan membuat ekspresi sementara selama kompilasi awal dan dengan demikian menunda pencarian untuk sumber daya sampai nilai sumber daya yang diminta benar-benar diperlukan untuk membangun objek. Hal ini mungkin terjadi setelah halaman XAML dimuat. Nilai sumber daya akan ditemukan berdasarkan pencarian kunci di semua kamus sumber daya aktif, dimulai dari cakupan halaman saat ini, di mana ia menggantikan ekspresi penampung dari kompilasi.
Penting
Dalam hal prioritas properti dependensi, ekspresi DynamicResource setara dengan posisi di mana referensi sumber daya dinamis diterapkan. Jika Anda menetapkan nilai lokal untuk properti yang sebelumnya memiliki ekspresi DynamicResource sebagai nilai lokal, DynamicResource akan dihapus sepenuhnya. Untuk detailnya, lihat Prioritas Nilai Properti Dependensi.
Skenario akses sumber daya tertentu sangat cocok untuk DynamicResource dibandingkan dengan menggunakan Ekstensi Markup StaticResource. Lihat Sumber Daya XAML untuk diskusi tentang manfaat relatif dan implikasi performa DynamicResource dan StaticResource.
ResourceKey yang ditentukan harus sesuai dengan sumber daya yang ada yang ditentukan oleh x:Key Directive pada beberapa tingkat di halaman, aplikasi, tema kontrol yang tersedia dan sumber daya eksternal, atau sumber daya sistem, dan pencarian sumber daya akan terjadi dalam urutan tersebut. Untuk informasi selengkapnya tentang pencarian sumber daya untuk sumber daya statis dan dinamis, lihat Sumber Daya XAML.
Kunci sumber daya dapat berupa string apa pun yang ditentukan dalam XamlName Grammar. Kunci sumber daya mungkin juga merupakan jenis objek lain, seperti Type. Kunci Type sangat mendasar tentang bagaimana kontrol dapat ditata berdasarkan tema. Untuk informasi selengkapnya, lihat Gambaran Umum Penulisan Kontrol .
API untuk pencarian nilai sumber daya, seperti FindResource, ikuti logika pencarian sumber daya yang sama seperti yang digunakan oleh DynamicResource.
Cara deklaratif alternatif untuk mereferensikan sumber daya adalah sebagai Ekstensi Markup StaticResource.
Sintaks atribut adalah sintaks yang paling umum digunakan dengan ekstensi markup ini. Token string yang disediakan setelah string pengidentifikasi DynamicResource ditetapkan sebagai nilai ResourceKey dari kelas ekstensi DynamicResourceExtension yang sesuai.
DynamicResource dapat digunakan dalam sintaks elemen objek. Dalam hal ini, menentukan nilai properti ResourceKey diperlukan.
DynamicResource juga dapat digunakan dalam penggunaan atribut verbose yang menentukan properti ResourceKey sebagai pasangan properti=nilai:
<object property="{DynamicResource ResourceKey=key}" ... />
Penggunaan verbose sering berguna untuk ekstensi yang memiliki lebih dari satu properti yang dapat diatur, atau jika beberapa properti bersifat opsional. Karena DynamicResource hanya memiliki satu properti yang dapat diatur, yang diperlukan, penggunaan yang berlebihan ini tidak umum.
Dalam implementasi prosesor WPF XAML, penanganan untuk ekstensi markup ini ditentukan oleh kelas DynamicResourceExtension.
DynamicResource adalah ekstensi markup. Ekstensi markup biasanya diimplementasikan ketika ada persyaratan untuk meloloskan nilai atribut menjadi selain nilai harfiah atau nama handler, dan persyaratannya lebih global daripada hanya menempatkan pengonversi jenis pada jenis atau properti tertentu. Semua ekstensi markup di XAML menggunakan { dan } karakter dalam sintaks atributnya, yang merupakan konvensi di mana prosesor XAML mengenali bahwa ekstensi markup harus memproses atribut . Untuk informasi selengkapnya, lihat Ekstensi Markup danWPF XAML .
Lihat juga
- Sumber Daya XAML
- Sumber Daya dan Kode
- x:Arahan Kunci
- XAML dalam WPF
- Ekstensi Markup dan XAML WPF
- Ekstensi Markup StaticResource
- Ekstensi Markup dan XAML WPF
.NET Desktop feedback