AmbientAttribute Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menentukan bahwa properti atau jenis harus diperlakukan sebagai sekitar. Konsep sekitar berkaitan dengan bagaimana prosesor XAML menentukan pemilik jenis anggota.
public ref class AmbientAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Property, Inherited=true)]
public sealed class AmbientAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method | System.AttributeTargets.Property, Inherited=true)]
public sealed class AmbientAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Property, Inherited=true)>]
type AmbientAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method | System.AttributeTargets.Property, Inherited=true)>]
type AmbientAttribute = class
inherit Attribute
Public NotInheritable Class AmbientAttribute
Inherits Attribute
- Warisan
- Atribut
Keterangan
Properti sekitar adalah properti di mana nilai diharapkan tersedia dalam konteks pengurai saat membuat grafik objek, tetapi di mana pencarian anggota tipe umum ditangguhkan untuk tujuan kumpulan simpul XAML langsung yang dibuat. Ada dua skenario utama untuk konsep sekitar:
Beberapa properti lain dari objek yang sama memengaruhi dan memenuhi syarat cara kerja pencarian properti objek tersebut.
Properti mewakili mekanisme penahanan yang lebih besar dan kemampuan sekitar untuk mencari nilai anggota yang diperluas ke semua objek yang terkandung dalam objek saat ini.
Atribut ini dapat diterapkan ke properti tertentu yang memiliki kontainer yang diharapkan yang memungkinkan perilaku pencarian properti sekitar, atau dapat diterapkan ke kelas untuk mengaktifkan perilaku properti sekitar dalam semua kasus jenis nilai tersebut untuk properti.
AmbientAttribute juga dapat diterapkan ke metode CLR, untuk mendukung pengambilan properti yang dapat dilampirkan XAML sebagai sekitar. Hal ini berpotensi diperlukan karena dalam implementasi CLR properti terlampir XAML diimplementasikan/diwakili untuk refleksi sebagai pola pengakses dengan get
metode dan set
. Tidak ada properti CLR aktual untuk atribut, jadi membatasi penggunaan untuk AttributeTargetsProperty
tidak akan mengaktifkan menentukan anggota yang dapat dilampirkan sebagai sekitar. Untuk anggota yang dapat dilampirkan yang ingin Anda laporkan sebagai sekitar, atribut aksesor get
. Anda tidak boleh mencoba metode atribut yang tidak secara khusus mendukung metode anggota yang dapat dilampirkan.
Dalam versi .NET Framework sebelumnya, kelas ini ada di rakitan khusus WPF WindowsBase. Di .NET Framework 4, AmbientAttribute berada di rakitan System.Xaml. Untuk informasi selengkapnya, lihat Jenis yang Dimigrasikan dari WPF ke System.Xaml.
Jenis sekitar (jenis di mana AmbientAttribute diterapkan pada tingkat jenis) dapat digunakan untuk situasi pemrosesan XAML tertentu di mana jenis properti perlu diselesaikan secara tidak berurutan.
Skenario Penulis Objek
Jika Anda mendefinisikan penulis objek XAML, dan Anda menemukan properti, metode, atau jenis di mana AmbientAttribute diterapkan, Anda biasanya harus mengakses layanan untuk menentukan perilaku pencarian properti sekitar yang dimaksudkan yang diperlukan untuk menulis objek. Untuk informasi selengkapnya, lihat IAmbientProvider.
Pengonversi Nilai
Jenis konverter atau ekstensi markup mungkin perlu mengetahui informasi sekitar untuk memproses properti yang mewakili pemetaan jenis tidak langsung, seperti properti yang menentukan anggota atau jenis menurut nama string dengan atau tanpa kualifikasi. Dalam skenario ini, AmbientAttribute tidak dimaksudkan untuk digunakan langsung untuk logika kode pengonversi nilai. Sebaliknya, pengonversi nilai harus mengandalkan perilaku pemrosesan penulis XAML, yang akan meneruskan IAmbientProvider konteks layanannya ke metode pengonversi nilai Anda saat dipanggil.
Skenario WPF untuk AmbientAttribute
Properti (StyleTargetType) dapat memenuhi syarat pencarian nama properti yang diperlukan yang diperlukan untuk menemukan referensi cadangan untuk nama properti dalam Setter.Property nilai.
Semua konten dalam
Resources
properti (item dari ResourceDictionary) serta konten templat, harus dapat mengakses serekan lain sebagai nilai. Mendeklarasikan seluruhResources
properti sebagai sekitar memanggil logika yang memungkinkan ini di pengurai WPF XAML.
Lihat ResourceDictionary untuk contoh skenario untuk pengaturan AmbientAttribute pada tingkat jenis.
Konstruktor
AmbientAttribute() |
Menginisialisasi instans baru kelas AmbientAttribute. |
Properti
TypeId |
Ketika diimplementasikan di kelas turunan, mendapatkan pengidentifikasi unik untuk ini Attribute. (Diperoleh dari Attribute) |
Metode
Equals(Object) |
Mengembalikan nilai yang menunjukkan apakah instans ini sama dengan objek tertentu. (Diperoleh dari Attribute) |
GetHashCode() |
Mengembalikan kode hash untuk instans ini. (Diperoleh dari Attribute) |
GetType() |
Mendapatkan instans Type saat ini. (Diperoleh dari Object) |
IsDefaultAttribute() |
Ketika ditimpa di kelas turunan, menunjukkan apakah nilai instans ini adalah nilai default untuk kelas turunan. (Diperoleh dari Attribute) |
Match(Object) |
Saat ditimpa di kelas turunan, mengembalikan nilai yang menunjukkan apakah instans ini sama dengan objek tertentu. (Diperoleh dari Attribute) |
MemberwiseClone() |
Membuat salinan dangkal dari yang saat ini Object. (Diperoleh dari Object) |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Memetakan sekumpulan nama ke sekumpulan pengidentifikasi pengiriman yang sesuai. (Diperoleh dari Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Mengambil informasi jenis untuk objek, yang dapat digunakan untuk mendapatkan informasi jenis untuk antarmuka. (Diperoleh dari Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Mengambil jumlah antarmuka informasi jenis yang disediakan objek (baik 0 atau 1). (Diperoleh dari Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Menyediakan akses ke properti dan metode yang diekspos oleh objek. (Diperoleh dari Attribute) |