AmbientAttribute Sınıf
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.
Bir özelliğin veya türün ortam olarak kabul edilmesi gerektiğini belirtir. Ortam kavramı, XAML işlemcilerinin üyelerin tür sahiplerini belirleme şekliyle ilgilidir.
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
- Devralma
- Öznitelikler
Açıklamalar
Ortam özelliği, nesne grafı oluştururken değerin ayrıştırıcı bağlamında kullanılabilir olması beklenen, ancak tipik tür üyesi aramasının hemen oluşturulan XAML düğüm kümesinin amaçları doğrultusunda askıya alındığı bir özelliktir. Ortam kavramı için iki ana senaryo vardır:
Aynı nesnenin diğer bazı özellikleri, nesne özelliği aramasının nasıl çalışması gerektiğini etkiler ve niteler.
özelliği daha büyük bir erteleme mekanizmasını temsil eder ve bir üye değeri aramak için ortam özellikleri geçerli nesnenin içindeki tüm nesnelere genişletilir.
Bu öznitelik, ortam özelliği arama davranışını etkinleştiren beklenen kapsayıcılara sahip belirli özelliklere uygulanabilir veya bir özellik için söz konusu değer türünün tüm durumlarında ortam özelliği davranışını etkinleştirmek üzere bir sınıfa uygulanabilir.
AmbientAttribute bir XAML eklenebilir özelliğinin ortam olarak attribubun desteklenebileceği bir CLR yöntemine de uygulanabilir. Bir CLR uygulamasında bir XAML ekli özelliği ve yöntemleriyle get
set
bir erişimci deseni olarak yansıma olarak uygulandığından/temsil edildiğinden, bu büyük olasılıkla gereklidir. Özniteliğin gerçek CLR özelliği yoktur, bu nedenle için AttributeTargetsProperty
kullanımını kısıtlamak ortam olarak eklenebilir bir üye belirtmeyi etkinleştirmez. Ortam olarak bildirmek istediğiniz eklenebilir bir üye için erişimciyi ilişkilendirin get
. Eklenebilir üyelerin yöntemlerini özellikle desteklemeyen yöntemleri öznitelik olarak kullanmamalısınız.
.NET Framework önceki sürümlerinde, bu sınıf WPF'ye özgü WindowsBase derlemesinde mevcut oldu. .NET Framework 4'te System.Xaml AmbientAttribute derlemesindedir. Daha fazla bilgi için bkz . WPF'den System.Xaml'e Geçirilen Türler.
Ortam türleri (tür düzeyinde uygulanan türler AmbientAttribute ), bir özelliğin türünün sıra dışı çözülmesi gereken belirli XAML işleme durumları için kullanılabilir.
Nesne Yazıcı Senaryoları
Bir XAML nesne yazıcısı tanımlıyorsanız ve uygulandığı yerde AmbientAttribute bir özellik, yöntem veya türle karşılaşırsanız, genellikle nesneleri yazmak için gereken hedeflenen ortam özelliği arama davranışını belirlemek için bir hizmete erişmeniz gerekir. Daha fazla bilgi için bkz. IAmbientProvider.
Değer Dönüştürücüleri
Tür dönüştürücülerinin veya işaretleme uzantılarının, niteliğe sahip veya niteliksiz dize adlarına göre üyeleri veya türleri belirten özellikler gibi dolaylı tür eşlemelerini temsil eden özellikleri işlemek için ortam bilgilerini bilmesi gerekebilir. Bu senaryoda, AmbientAttribute doğrudan değer dönüştürücüsü kod mantığı için kullanılması amaçlanmamıştır. Bunun yerine, değer dönüştürücüsü çağrıldığında hizmet bağlamlarını değer dönüştürücü yöntemlerinize geçirecek IAmbientProvider olan XAML yazıcı işleme davranışına güvenmelidir.
AmbientAttribute için WPF Senaryoları
() özelliğinin StyleTargetTypeözelliği, değerlerdeki özellik adları için yedekleme başvurularını bulmak için gereken gerekli özellik adı aramalarını niteleyebilirSetter.Property.
Bir
Resources
özellik içindeki tüm içerik (bir ResourceDictionaryöğesinin öğeleri) ve şablon içeriği, değer olarak diğer eşlere erişebilmelidir. TümResources
özelliğin ortam olarak bildirilmesi, WPF XAML ayrıştırıcısında bunu etkinleştiren mantığı çağırır.
Tür düzeyinde ayar AmbientAttribute için bir senaryo örneği için bkzResourceDictionary.
Oluşturucular
AmbientAttribute() |
AmbientAttribute sınıfının yeni bir örneğini başlatır. |
Özellikler
TypeId |
Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır. (Devralındığı yer: Attribute) |
Yöntemler
Equals(Object) |
Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür. (Devralındığı yer: Attribute) |
GetHashCode() |
Bu örneğe ilişkin karma kodu döndürür. (Devralındığı yer: Attribute) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
IsDefaultAttribute() |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir. (Devralındığı yer: Attribute) |
Match(Object) |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür. (Devralındığı yer: Attribute) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler. (Devralındığı yer: Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Bir arabirimin tür bilgilerini almak için kullanılabilecek bir nesnenin tür bilgilerini alır. (Devralındığı yer: Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1). (Devralındığı yer: Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar. (Devralındığı yer: Attribute) |