Sdílet prostřednictvím


AmbientAttribute Třída

Definice

Určuje, že vlastnost nebo typ se má považovat za okolní. Koncept okolí souvisí s tím, jak procesory XAML určují vlastníky typů členů.

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
Dědičnost
AmbientAttribute
Atributy

Poznámky

Ambientní vlastnost je vlastnost, u které se očekává, že hodnota bude k dispozici v kontextu analyzátoru při vytváření grafu objektů, ale kde je typické vyhledávání členů typu pozastaveno pro účely okamžitého vytváření sady uzlů XAML. Koncept prostředí má dva hlavní scénáře:

  • Některé další vlastnosti stejného objektu ovlivňují a kvalifikují, jak má vyhledávání vlastností objektu fungovat.

  • Vlastnost představuje větší mechanismus odložení a možnosti okolí pro vyhledání hodnoty členu se rozšiřují na všechny objekty obsažené v aktuálním objektu.

Tento atribut lze použít na konkrétní vlastnosti, které mají očekávané kontejnery, které umožňují chování vyhledávání vlastností okolí, nebo lze použít na třídu, aby se povolilo chování vlastnosti okolí ve všech případech tohoto typu hodnoty pro vlastnost.

AmbientAttribute lze také použít na metodu CLR, která podporuje přiřazení připojitelné vlastnosti XAML jako ambient. To je potenciálně nezbytné, protože v implementaci CLR je implementovaná nebo reprezentovaná vlastnost XAML jako vzor přistupovače s metodami get a set . K atributu neexistuje žádná skutečná vlastnost CLR, takže omezení použití pro AttributeTargetsProperty na by nepovolovalo určení připojitelného člena jako okolního. Pro připojitelný člen, který chcete hlásit jako okolí, přiřazovat get přistupte. Neměli byste se pokoušet přiřazovat metody, které nejsou konkrétně podporující metody připojitelných členů.

V předchozích verzích rozhraní .NET Framework tato třída existovala v sestavení WPF WindowsBase. V rozhraní .NET Framework 4 AmbientAttribute je v sestavení System.Xaml. Další informace najdete v tématu Typy migrované z WPF do System.Xaml.

Okolní typy (typy, které AmbientAttribute se používají na úrovni typu) lze použít v určitých situacích zpracování XAML, kdy je potřeba typ vlastnosti vyřešit mimo pořadí.

Scénáře zapisovače objektů

Pokud definujete zapisovač objektů XAML a narazíte na vlastnost, metodu nebo typ, kde AmbientAttribute je použit, obvykle musíte přistupovat ke službě, abyste zjistili zamýšlené chování vyhledávání okolních vlastností, které je potřeba pro zápis objektů. Další informace naleznete v tématu IAmbientProvider.

Převaděče hodnot

Převaděče typů nebo rozšíření značek mohou potřebovat znát informace okolí, aby mohly zpracovávat vlastnosti, které představují mapování nepřímých typů, například vlastnosti, které určují členy nebo typy názvy řetězců s kvalifikací nebo bez kvalifikace. V tomto scénáři AmbientAttribute není určen k použití přímo pro logiku kódu převaděče hodnot. Převaděč hodnot by se měl spoléhat na chování zpracování zapisovače XAML, které při zavolání předá IAmbientProvider kontexty služby do metod převaděče hodnot.

Scénáře WPF pro AmbientAttribute

  • Vlastnost Style (TargetType) může kvalifikovat potřebná vyhledávání názvů vlastností, která jsou potřebná k vyhledání podkladových odkazů pro názvy vlastností v Setter.Property hodnotách.

  • Veškerý obsah v rámci Resources vlastnosti (položky objektu ResourceDictionary) i obsah šablony by měl mít přístup k jiným partnerským uzlům jako hodnotám. Deklarování celé Resources vlastnosti jako okolí vyvolá logiku, která to umožňuje v analyzátoru WPF XAML.

Podívejte ResourceDictionary se na příklad scénáře pro nastavení AmbientAttribute na úrovni typu.

Konstruktory

AmbientAttribute()

Inicializuje novou instanci AmbientAttribute třídy.

Vlastnosti

TypeId

Při implementaci v odvozené třídě získá jedinečný identifikátor pro tuto Attributetřídu .

(Zděděno od Attribute)

Metody

Equals(Object)

Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu.

(Zděděno od Attribute)
GetHashCode()

Vrátí hodnotu hash pro tuto instanci.

(Zděděno od Attribute)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
IsDefaultAttribute()

Při přepsání v odvozené třídě označuje, zda je hodnota této instance výchozí hodnotou pro odvozenou třídu.

(Zděděno od Attribute)
Match(Object)

Při přepsání v odvozené třídě vrátí hodnotu, která označuje, zda se tato instance rovná zadanému objektu.

(Zděděno od Attribute)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

(Zděděno od Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, které lze použít k získání informací o typu pro rozhraní.

(Zděděno od Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

(Zděděno od Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

(Zděděno od Attribute)

Platí pro

Viz také