Ekstensi markup {CustomResource}

Menyediakan nilai untuk atribut XAML apa pun dengan mengevaluasi referensi ke sumber daya yang berasal dari implementasi pencarian sumber daya kustom. Pencarian sumber daya dilakukan oleh implementasi kelas CustomXamlResourceLoader .

Penggunaan atribut XAML

<object property="{CustomResource key}" .../>

Nilai XAML

Istilah Deskripsi
kunci Kunci untuk sumber daya yang diminta. Bagaimana kunci awalnya ditetapkan khusus untuk implementasi kelas CustomXamlResourceLoader yang saat ini terdaftar untuk digunakan.

Keterangan

CustomResource adalah teknik untuk mendapatkan nilai yang ditentukan di tempat lain dalam repositori sumber daya kustom. Teknik ini relatif canggih dan tidak digunakan oleh sebagian besar skenario aplikasi Windows Runtime.

Bagaimana CustomResource mengatasi kamus sumber daya tidak dijelaskan dalam topik ini, karena itu dapat sangat bervariasi tergantung pada bagaimana CustomXamlResourceLoader diterapkan.

Metode GetResource dari implementasi CustomXamlResourceLoader dipanggil oleh parser XAML Windows Runtime setiap kali menemukan {CustomResource} penggunaan dalam markup. ResourceId yang diteruskan ke GetResource berasal dari argumen kunci, dan parameter input lainnya berasal dari konteks, seperti properti mana tempat penggunaan diterapkan.

Penggunaan {CustomResource} tidak berfungsi secara default (implementasi dasar GetResource tidak lengkap). Untuk membuat referensi yang valid {CustomResource} , Anda harus melakukan setiap langkah berikut:

  1. Mendapatkan kelas kustom dari CustomXamlResourceLoader dan mengambil alih metode GetResource . Jangan memanggil basis dalam implementasi.
  2. Atur CustomXamlResourceLoader.Current untuk mereferensikan kelas Anda dalam logika inisialisasi. Ini harus terjadi sebelum XAML tingkat halaman apa pun yang menyertakan {CustomResource} penggunaan ekstensi dimuat. Satu tempat untuk mengatur CustomXamlResourceLoader.Current ada di konstruktor subkelas Aplikasi yang dihasilkan untuk Anda di templat App.xaml code-behind.
  3. Sekarang Anda dapat menggunakan {CustomResource} ekstensi di XAML yang dimuat aplikasi Anda sebagai halaman, atau dari dalam kamus sumber daya XAML.

CustomResource adalah ekstensi markup. Ekstensi markup biasanya diimplementasikan ketika ada persyaratan untuk menghindari nilai atribut agar 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 karakter "{" dan "}" dalam sintaks atributnya, yang merupakan konvensi di mana prosesor XAML mengenali bahwa ekstensi markup harus memproses atribut .