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 bir ö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 olan ve tipik bir çalışma zamanı uygulaması için yararlı olmayan değerler için 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ının veya XAML işlemesinin, nesne grafiği gösterimini kullanıma hazır değerlerle doldurmak için bu tür nesnelerin örneğini oluşturması gerekir.
IQueryAmbient bir üyesi vardır: IsAmbientPropertyAvailable.
IQueryAmbient , için AmbientAttributeparalel bir mekanizmadır.
IQueryAmbient , bilgileri belirlemek için yansıma kullanmaktan kaçınan özel mekanizmadır ve aynı zamanda durum olarak da davranabilir (belirli bir nesne raporlamayı true veya false için IsAmbientPropertyAvailableseçebilir), öznitelik ise temelde statik analizdir.
AmbientAttribute , XAML nesne yazıcıları tarafından kullanılabilen ve genellikle ayrılmış XAML türü sistem özellikleri 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ğerler alır ve bir anahtar bulunana veya anahtarın kapsamda olmadığı belirlenene kadar kaynak kapsamının köküne doğru çalışır. Normalde, bunu yapmak için sonuçların alınması için her seferinde bir ResourceDictionary örneğinin alınması 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 özellik içeriyorsa ve sorgu özelliğin kendisi için değilse, tüm özellik adlarını döndürmek
trueResources 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 AmbientAttributeilişkilendirilir. Tipik kullanım, arabirimi tanımlayan nesnenin AmbientAttribute öznitelikli özellikleri DEĞİl olan özellikleri sorgulamaktır. Başka bir deyişle, nesne grafiği oluşturulduğunda olası çalışma süresi değerini sağlamak için 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 ele alınabilir.
Yöntemler
| Name | Description |
|---|---|
| IsAmbientPropertyAvailable(String) |
Belirtilen adlandırılmış özelliğin geçerli kapsamda ortam olarak kabul edilip edilemeyeceğini sorgular. |