CustomXamlResourceLoader Kelas

Definisi

Memungkinkan pemuatan kamus sumber daya kustom sebagai sumber. Ambil alih GetResource untuk menyediakan logika yang dapat digunakan pengurai XAML untuk mencari sumber daya yang diperlukan pada waktu muat.

/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class CustomXamlResourceLoader
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class CustomXamlResourceLoader
Public Class CustomXamlResourceLoader
Warisan
Object IInspectable CustomXamlResourceLoader
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 (diperkenalkan dalam 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)

Keterangan

CustomXamlResourceLoader mendukung penggunaan {CustomResource}ekstensi markup . Ekstensi markup ini unik untuk kerangka kerja XAML Windows Runtime (tidak ada dalam teknologi XAML pendahulu seperti Windows Presentation Foundation (WPF) dan Microsoft Silverlight.)

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.

Ekstensi markup {CustomResource} dapat digunakan dari XAML dengan cara yang sama dengan ekstensi markup {StaticResource}, yang melakukan pencarian sumber daya bawaan dari berbagai lokasi ResourceDictionary . Perbedaannya adalah bahwa aplikasi itu sendiri mengimplementasikan logika pencarian sumber daya untuk penggunaan ekstensi markup {CustomResource} dengan menyediakan pemuat sumber daya kustom. Untuk mengimplementasikan pemuat sumber daya kustom, aplikasi harus menyediakan kelas yang berasal dari CustomXamlResourceLoader dan mengambil alih metode GetResource . Aplikasi harus mendaftarkan pemuat sumber daya kustomnya dengan mengatur properti statis CustomXamlResourceLoader.Current ke instans kelas pemuat sumber daya kustomnya. Pendaftaran ini harus dilakukan pada utas UI XAML sebelum penguraian XAML yang menggunakan ekstensi markup {CustomResource}. Jika aplikasi menggunakan beberapa utas UI, pendaftaran terpisah harus dilakukan pada masing-masing utas.

Cara CustomXamlResourceLoader menyimpan sumber dayanya mungkin tidak terkait dengan ResourceDictionary sama sekali. Biasanya, selain penimpaan yang diperlukan, kelas CustomXamlResourceLoader Anda akan menyediakan metode internal atau publik yang memungkinkan penyimpanan, kunci, dan bekerja dengan item sumber daya dalam koleksi yang mendasar.

Konstruktor

CustomXamlResourceLoader()

Menginisialisasi instans baru kelas CustomXamlResourceLoader .

Properti

Current

Mengembalikan instans CustomXamlResourceLoader aktif.

Metode

GetResource(String, String, String, String)

Saat ditimpa dalam kelas turunan, menentukan logika pencarian sumber daya untuk CustomXamlResourceLoader ini. Mengingat ID sumber daya dan beberapa informasi jenis tentang hasil yang diharapkan, mengembalikan sumber daya yang diminta.

Berlaku untuk

Lihat juga