IQueryAmbient Antarmuka
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.
Kueri untuk apakah properti tertentu harus diperlakukan sebagai sekitar dalam cakupan saat ini.
public interface class IQueryAmbient
public interface IQueryAmbient
type IQueryAmbient = interface
Public Interface IQueryAmbient
- Turunan
Keterangan
Tujuan dari mekanisme properti sekitar adalah untuk meningkatkan waktu penguraian dengan menginformasikan penulis objek XAML untuk menghindari pembuatan instans objek tertentu, dalam kasus di mana diketahui bahwa objek adalah untuk nilai yang sementara dan tidak berguna untuk aplikasi run time biasa. Biasanya, pencarian XAML atau pemrosesan XAML dari properti get accessor perlu membuat instans objek tersebut untuk mengisi representasi grafik objek dengan nilai siap digunakan.
IQueryAmbient memiliki satu anggota: IsAmbientPropertyAvailable.
IQueryAmbient adalah mekanisme paralel untuk AmbientAttribute.
IQueryAmbient adalah mekanisme khusus yang menghindari penggunaan pantulan untuk menentukan informasi, dan juga dapat bertindak secara situasional (objek tertentu dapat memilih untuk melaporkan true
atau false
untuk IsAmbientPropertyAvailable), sedangkan atribut pada dasarnya adalah analisis statis).
AmbientAttribute adalah mekanisme umum yang dapat digunakan oleh penulis objek XAML dan yang biasanya berkorelasi dengan properti IsAmbient sistem jenis XAML khusus dan IsAmbient.
Implementasi WPF IQueryAmbient
Dalam WPF, IQueryAmbient digunakan untuk proses pencarian kamus sumber daya. Proses pencarian mendapatkan nilai berturut-turut Resources
di seluruh pohon logis WPF, bekerja menuju akar cakupan sumber daya hingga kunci ditemukan atau kunci ditentukan tidak ada dalam cakupan. Biasanya, melakukannya akan memerlukan instantiating ResourceDictionary setiap kali untuk menerima hasilnya. Mendeklarasikan isi Resources
sebagai sekitar selama Resources
ada mengoptimalkan proses pencarian ini. Dalam WPF, antarmuka ini diimplementasikan dalam kasus-kasus berikut:
FrameworkElement IQueryAmbient.IsAmbientPropertyAvailable mengimplementasikan untuk mengembalikan
true
semua nama properti jika berisi yang sudah ada ResourceDictionary untuk Resources, dan selama kueri bukan untuk properti itu Resources sendiri.Applicationmengimplementasikan pola yang sama untuk .Resources
FrameworkContentElementmengimplementasikan pola yang sama untuk .Resources
FrameworkTemplatemengimplementasikan pola yang sama untuk .Resources Ini juga melaporkan Template konten sebagai sekitar tetapi mengembalikan
false
jika mengkuerinya Template sendiri.Dalam setiap kasus ini, properti yang relevan
Resources
(dan Template) dikaitkan sebagai AmbientAttribute. Penggunaan umumnya adalah untuk mengkueri properti yang BUKAN AmbientAttribute properti atribut objek yang menentukan antarmuka. Dengan kata lain, selama kamus sumber daya ada untuk memberikan nilai durasi potensial saat grafik objek dibuat, properti lain selain kontainer properti kamus sumber daya dapat diperlakukan sebagai sekitar.
Metode
IsAmbientPropertyAvailable(String) |
Kueri untuk apakah properti bernama tertentu dapat dianggap sekitar dalam cakupan saat ini. |