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.
Mereferensikan entitas kode statis menurut nilai yang ditentukan dalam cara yang sesuai dengan Common Language Specification (CLS). Properti statis yang dirujuk dapat digunakan untuk memberikan nilai properti di XAML.
Penggunaan Atribut XAML
<object property="{x:Static prefix:typeName.staticMemberName}" .../>
Nilai XAML
| Nilai | Deskripsi |
|---|---|
prefix |
Fakultatif. Awalan yang mengacu pada namespace XAML yang dipetakan dan non-default.
prefix ditampilkan secara eksplisit dalam penggunaan karena Anda jarang mereferensikan properti statis yang berasal dari namespace XAML default. Lihat Komentar. |
typeName |
Diperlukan. Nama jenis yang menentukan anggota statis yang diinginkan. |
staticMemberName |
Diperlukan. Nama anggota nilai statis yang diinginkan (konstanta, properti statis, bidang, atau nilai enumerasi). |
Komentar
Entitas kode yang dirujuk harus salah satu dari yang berikut ini:
- Konstanta
- Properti statis
- Bidang
- Nilai enumerasi
Menentukan entitas kode lain, seperti properti nonstatis, menyebabkan kesalahan waktu kompilasi jika XAML dikompilasi markup, atau pengecualian penguraian waktu pemuatan XAML.
Anda dapat membuat referensi x:Static ke bidang statis atau properti yang tidak ada di namespace XAML default untuk dokumen XAML saat ini; namun, ini memerlukan pemetaan awalan. Namespace XAML hampir selalu didefinisikan pada elemen akar dokumen XAML.
Operasi pencarian untuk properti statis dapat dilakukan oleh Layanan XAML .NET dan pembaca XAML dan penulis XAML, ketika mereka berjalan dengan konteks skema XAML default. Konteks skema XAML ini dapat menggunakan refleksi CLR untuk memberikan nilai statis yang diperlukan untuk konstruksi grafik objek.
typeName yang Anda tentukan sebenarnya adalah nama jenis XAML, bukan nama jenis CLR, meskipun ini pada dasarnya adalah nama yang sama saat menggunakan konteks skema XAML default atau saat menggunakan semua kerangka kerja penerapan XAML berbasis CLR yang ada.
Berhati-hatilah saat Anda membuat referensi x:Static yang bukan secara langsung jenis nilai properti. Dalam urutan pemrosesan XAML, nilai yang disediakan dari ekstensi markup tidak memanggil konversi nilai tambahan. Ini benar bahkan jika referensi x:Static Anda membuat string teks, dan konversi nilai untuk nilai atribut berdasarkan string teks biasanya terjadi baik untuk anggota tertentu atau untuk nilai anggota mana pun dari jenis pengembalian.
Sintaks atribut adalah sintaks yang paling umum digunakan dengan ekstensi markup ini. Token string yang disediakan setelah string pengidentifikasi x:Static ditetapkan sebagai nilai Member kelas ekstensi StaticExtension yang mendasar.
Ada dua penggunaan XAML lainnya yang secara teknis dimungkinkan. Namun, penggunaan ini kurang umum karena tidak perlu verbose:
Sintaks elemen objek.
<x:Static Member="prefix:typeName.staticMemberName" ... />Sintaks atribut dengan properti Anggota eksplisit untuk string inisialisasi.
<object property="{x:Static Member=prefix:typeName.staticMemberName}" ... />
Dalam implementasi Layanan XAML .NET, penanganan untuk ekstensi markup ini ditentukan oleh kelas StaticExtension.
x:Static adalah ekstensi markup. Semua ekstensi markup di XAML menggunakan karakter { dan } dalam sintaks atributnya, yang merupakan konvensi di mana prosesor XAML mengenali bahwa ekstensi markup harus memberikan nilai. Untuk informasi selengkapnya tentang ekstensi markup, lihat Ekstensi Markup untuk Gambaran Umum XAML.
Catatan Penggunaan WPF
Namespace XAML default yang Anda gunakan untuk pemrograman WPF tidak berisi banyak properti statis yang berguna, dan sebagian besar properti statis yang berguna memiliki dukungan seperti pengonversi jenis yang memfasilitasi penggunaan tanpa memerlukan {x:Static} . Untuk properti statis, Anda harus memetakan awalan untuk namespace XAML jika salah satu dari berikut ini benar:
Anda mereferensikan jenis yang ada di WPF tetapi bukan bagian dari namespace XAML default untuk WPF (
http://schemas.microsoft.com/winfx/2006/xaml/presentation). Ini adalah skenario yang cukup umum untuk menggunakanx:Static. Misalnya, Anda dapat menggunakan referensix:Staticdengan pemetaan namespace XAML ke namespace layanan CLR System dan rakitan mscorlib untuk mereferensikan properti statis kelas Environment.Anda merujuk jenis dari rakitan kustom.
Anda merujuk jenis yang ada di rakitan WPF, tetapi jenis tersebut berada dalam namespace CLR yang tidak dipetakan menjadi bagian dari namespace layanan XAML default WPF. Pemetaan namespace LAYANAN CLR ke dalam namespace XAML default untuk WPF dilakukan oleh definisi dalam berbagai rakitan WPF (untuk informasi selengkapnya tentang konsep ini, lihat Namespace XAML dan Pemetaan Namespace Layanan untuk WPF XAML). Namespace CLR yang tidak dipetakan dapat ada jika namespace CLR sebagian besar terdiri dari definisi kelas yang biasanya tidak ditujukan untuk XAML, seperti System.Windows.Threading.
Untuk informasi selengkapnya tentang cara menggunakan awalan dan namespace XAML untuk WPF, lihat Namespace XAML dan Pemetaan Namespace layanan untuk WPF XAML.
Lihat juga
.NET Desktop feedback