IQueryAmbient Arabirim
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Belirtilen özelliğin geçerli kapsamda ortam olarak ele alınıp alınmayacağını sorgular.
public interface class IQueryAmbient
public interface IQueryAmbient
type IQueryAmbient = interface
Public Interface IQueryAmbient
- Türetilmiş
Açıklamalar
Ortam özelliği mekanizmasının amacı, nesnelerin geçici olduğu bilinen ve tipik bir çalışma zamanı uygulaması için yararlı olmayan değerlere yönelik olduğu bilinen durumlarda, belirli nesnelerin örneğini oluşturmaktan kaçınmak için bir XAML nesne yazıcısını bilgilendirerek ayrıştırma süresini geliştirmektir. Normalde, bir özellik alma erişimcisinin XAML aramaları veya XAML işlemesi, nesne grafı gösterimini kullanıma hazır değerlerle doldurmak için bu tür nesnelerin örneğini oluşturması gerekir.
IQueryAmbient bir üyesi var: IsAmbientPropertyAvailable.
IQueryAmbient , için AmbientAttributeparalel bir mekanizmadır.
IQueryAmbient , bilgileri belirlemek için yansıma kullanmaktan kaçınan ve aynı zamanda durum olarak hareket edebilen (belirli bir nesne raporlamayı true
veya false
için IsAmbientPropertyAvailable) tercih edebilen özel mekanizmadır, ancak öznitelik temelde statik analizdir).
AmbientAttribute , XAML nesne yazıcıları tarafından kullanılabilen ve genellikle ayrılmış XAML türü sistem özellikleriyle IsAmbient ve IsAmbientile ilişkilendiren genel mekanizmadır.
IQueryAmbient WPF Uygulamaları
WPF'de, IQueryAmbient kaynak sözlüğü arama işlemi için kullanılır. Arama işlemi WPF mantıksal ağacı boyunca ardışık Resources
değerleri alır ve bir anahtar bulunana veya anahtarın kapsamda mevcut olmadığı belirlenene kadar kaynak kapsamının köküne doğru çalışır. Normalde, bunu yapmak için her seferinde sonuçların alınması için bir ResourceDictionary örnek oluşturma gerekir. mevcut olduğu sürece Resources
içeriğinin Resources
ortam olarak bildirilmesi bu arama işlemini iyileştirir. WPF'de bu arabirim aşağıdaki durumlarda uygulanır:
FrameworkElement IQueryAmbient.IsAmbientPropertyAvailable, için mevcut ResourceDictionaryResourcesbir içeriyorsa ve sorgu özelliğin kendisi için değilse tüm özellik adlarını döndürmek
true
Resources için uygular.Application , için aynı deseni Resourcesuygular.
FrameworkContentElement , için aynı deseni Resourcesuygular.
FrameworkTemplate , için aynı deseni Resourcesuygular. Ayrıca içeriği ortam olarak bildirirTemplate, ancak kendisi sorgulanırsa Template döndürür
false
.Bu durumların her birinde, ilgili
Resources
özellik (ve Template) olarak AmbientAttributeözniteliklendirilir. Tipik kullanım, arabirimi tanımlayan nesnenin AmbientAttribute öznitelikli özellikleri DEĞİl özellikleri sorgulamaktır. Başka bir deyişle, nesne grafı oluşturulduğunda olası çalışma zamanı değerini sağlamak için bir kaynak sözlüğü mevcut olduğu sürece, kaynak sözlüğün özellik kapsayıcısının dışındaki diğer tüm özellikler ortam olarak işlenebilir.
Yöntemler
IsAmbientPropertyAvailable(String) |
Belirtilen adlandırılmış özelliğin geçerli kapsamda ortam olarak kabul edilip edilemeyeceğini sorgular. |