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.
Saat diatur ke false, memodifikasi perilaku pengambilan sumber daya WPF sehingga permintaan untuk sumber daya yang diatribusikan membuat instans baru untuk setiap permintaan alih-alih berbagi instans yang sama untuk semua permintaan.
Penggunaan Atribut XAML
<ResourceDictionary>
<object x:Shared="false".../>
</ResourceDictionary>
Komentar
x:Shared dipetakan ke namespace XAML bahasa XAML dan diakui sebagai elemen bahasa XAML yang valid oleh Layanan XAML .NET dan pembaca XAML-nya. Namun, kemampuan x:Shared yang dinyatakan hanya relevan untuk aplikasi WPF dan untuk pengurai WPF XAML. Di WPF, x:Shared hanya berguna sebagai atribut ketika diterapkan ke objek yang ada dalam WPF ResourceDictionary. Penggunaan lain tidak melemparkan pengecualian penguraian atau kesalahan lainnya, tetapi tidak berpengaruh.
Arti x:Shared tidak ditentukan dalam spesifikasi bahasa XAML. Implementasi XAML lainnya, seperti yang dibangun di Layanan XAML .NET, tidak selalu memberikan dukungan berbagi sumber daya. Implementasi XAML tersebut dapat memberikan perilaku serupa dalam kerangka kerja pendukung yang juga menggunakan nilai x:Shared.
Di WPF, kondisi x:Shared default untuk sumber daya adalah true. Kondisi ini berarti bahwa setiap permintaan sumber daya tertentu selalu mengembalikan instans yang sama.
Memodifikasi objek yang dikembalikan melalui API sumber daya, seperti FindResource, atau memodifikasi objek langsung dalam ResourceDictionary, mengubah sumber daya asli. Jika referensi ke sumber daya tersebut adalah referensi sumber daya dinamis, konsumen sumber daya tersebut mendapatkan sumber daya yang diubah.
Jika referensi ke sumber daya adalah referensi sumber daya statis, perubahan pada sumber daya setelah waktu pemrosesan XAML tidak relevan. Untuk informasi selengkapnya tentang referensi sumber daya statis versus dinamis, lihat Gambaran Umum sumber daya XAML (WPF .NET).
Secara eksplisit menentukan x:Shared="true" jarang dilakukan, karena itu sudah menjadi default. Tidak ada kode langsung yang setara untuk x:Shared dalam model objek WPF; hanya dapat ditentukan dalam penggunaan XAML dan harus diproses baik oleh perilaku WPF default atau dalam aliran simpul XAML perantara pada jalur beban jika diproses menggunakan Layanan XAML .NET dan pembaca XAML-nya.
Skenario untuk x:Shared="false" adalah jika Anda menentukan kelas turunan FrameworkElement atau FrameworkContentElement sebagai sumber daya lalu Anda memperkenalkan sumber daya elemen ke dalam model konten.
x:Shared="false" memungkinkan sumber daya elemen diperkenalkan beberapa kali dalam koleksi yang sama (seperti UIElementCollection). Tanpa x:Shared="false" ini tidak valid karena koleksi memberlakukan keunikan kontennya. Namun, perilaku x:Shared="false" membuat instans sumber daya lain yang identik alih-alih mengembalikan instans yang sama.
Skenario lain untuk x:Shared="false" adalah jika Anda menggunakan sumber daya Freezable untuk nilai animasi tetapi ingin memodifikasi sumber daya per animasi.
Penanganan string false tidak peka huruf besar/kecil.
Di WPF, x:Shared hanya valid dalam kondisi berikut:
ResourceDictionary yang berisi item dengan
x:Sharedharus dikompilasi. ResourceDictionary tidak dapat berada dalam XAML longgar atau digunakan untuk tema.ResourceDictionary yang berisi item tidak boleh ditumpuk dalam ResourceDictionarylain . Misalnya, Anda tidak dapat menggunakan
x:Shareduntuk item dalam ResourceDictionary yang berada dalam Style yang sudah menjadi item ResourceDictionary.
Lihat juga
.NET Desktop feedback