IAmbientProvider IAmbientProvider IAmbientProvider IAmbientProvider Interface

Definition

Stellt einen Dienst dar, von dem Informationselemente zu Ambient-Eigenschaften oder Ambient-Typen an Typkonverter und Markuperweiterungen zurückgegeben werden können.Represents a service that can return information items about ambient properties or ambient types to type converters and markup extensions.

public interface class IAmbientProvider
public interface IAmbientProvider
type IAmbientProvider = interface
Public Interface IAmbientProvider

Hinweise

Diese Schnittstelle stellt den Dienst, mit denen Typkonverter und Markuperweiterungen zum Abrufen der ambient-Eigenschaft-IDs für das XAML-Typsystem kann (XamlMember Objekte).This interface represents the service that can help type converters and markup extensions to get the ambient property identifiers for the XAML type system (XamlMember objects). Der Dienst kann auch die ambient-Eigenschaftswerte aus Klassen abrufen.The service can also get the ambient property values from classes. Typen können auch ambient sein. ein Element, das als Wert dieses Typs wird verwendet, sollte als ambient betrachtet werden.Types can also be ambient; any member that uses that type as its value should be considered ambient.

Dieser Dienst wird in der Regel durch einen Aufruf zurückgegeben GetService, die ein Dienstkontext-spezifischen Dienstanbieter erfolgt.This service is typically returned through a call to GetService, which is made against a context-specific service provider. Der Dienstanbieter steht in der Regel Kontexte, die sie, wie der Ausführungscode eines Wertkonverters benötigen.The service provider is generally available to contexts that need it, such as the execution code of a value converter. Weitere Informationen finden Sie unter Typkonverter und Markuperweiterungen für XAML und Service Contexts Available to Type Converters and Markup Extensions.For more information, see Type Converters and Markup Extensions for XAML and Service Contexts Available to Type Converters and Markup Extensions.

Informationen zu Ambient-EigenschaftenAbout Ambient Properties

Eine Ambiente-Eigenschaft ist eine Eigenschaft, deren Eigenschaftswert in den Typ-Konverter und Markuperweiterungsverwendungen, die vorhanden sind, in die XAML-Knotenstruktur und das Objektdiagramm, die von ihr erstellten verfügbar sein sollte.An ambient property is a property whose property value should be available to type converter and markup extension usages that exist in the XAML node structure and in the object graph created from it. Dies ist relevant für einen XAML-Prozessor, während der Phase Objekt zum Schreiben des Pfads laden oder der Serialisierungsphase eines Speichervorgangs Pfad.This is relevant for a XAML processor during the object-writing phase of the load path or the serialization phase of a save path.

Im Fall Pfad laden kann der Wert der ambient-Eigenschaft den Wert in ein Objektdiagramm aus anderen Eigenschaften beeinflussen, die darunter liegenden in einer XAML-Knotenstruktur vorhanden sind.In the load path case, the ambient property value might influence the value in the object graph of other properties that exist underneath it in a XAML node structure. Bei der Verarbeitung als eine XAML-Knotenstream das Umgebungskonzept bedeutet, dass der Wert der ambient-Eigenschaft muss für Typkonverter und Markuperweiterungen von StartObject zu EndObject.When processed as a XAML node stream, the ambient concept means the ambient property value must be available to type converters and markup extensions from StartObject to EndObject. Auf ähnliche Weise einen Typkonverter, der verwendet wird, für den Speichervorgang Pfad Kenntnisse über die ambient-Eigenschaft und den Wert verwenden kann.Similarly, a type converter that is used for the save path can use knowledge of the ambient property and its value. Daher ist die XAML, das erstellt wird eine bessere Round-Trip-Darstellung.Therefore, the XAML that is produced is a better round-trip representation.

Für Elemente in der Regel gibt XAML die Reihenfolge keine in der Member eines Objekts verarbeitet werden müssen.For members in general, XAML does not specify the order in which members of an object must be processed. Jedoch ambient-Eigenschaft-Wert muss zuerst verarbeitet werden, die der XAML-Reader, damit die Typ-Konverter und Markuperweiterungsverwendungen, die in anderen Eigenschaften enthalten sind, die über zugreifen können die IAmbientProvider Service.However, any ambient property value must be processed first by the XAML reader so that the type converter and markup extension usages that are contained in other properties can access it through the IAmbientProvider service.

DependsOn ist ein ähnliches Konzept, das XAML-Knoten-Verarbeitungsreihenfolge auch beeinflusst.DependsOn is a similar concept that also influences XAML node-processing order. Allerdings DependsOn kann nur verwendet werden, für die Peer-Member und Knoten Beziehungen; es kann nicht alle abhängigen Elemente beeinflussen.However, DependsOn can only be used for peer member and node relationships; it cannot influence all descendants. Darüber hinaus DependsOn direkt beeinflusst Graph-Eigenschaft festlegen; Objekt während die Ambiente-Technik Typkonverter oder Markuperweiterungen verwendet.Also, DependsOn directly influences object graph property setting; whereas the ambient technique relies on type converters or markup extensions. In der ambient-Technik muss gibt es zudem eine bestimmte Typkonverter oder die Erweiterung Markupdefinition, der angibt, wie der ambient-Eigenschaft-Wert interpretiert und auf das Objekt angewendet werden soll.In the ambient technique, there must also be a specific type converter or markup extension definition that specifies how the ambient property value should be interpreted and applied to the object.

Hinweise zur WPF-VerwendungWPF Usage Notes

Eine ambient-Eigenschaft-Szenario, das im dargestellt ist die WPFWPF Featuresatz ist Style.TargetType, die können die erforderliche Eigenschaft Name Nachschlagefelder für andere Werte qualifizieren.An ambient property scenario that is illustrated in the WPFWPF feature set is Style.TargetType, which can qualify the necessary property name lookups for other values. In diesem Fall die Style.TargetType Wert qualifiziert die Setter.Property Werte, die in die darunter liegenden XAML-Knoten befinden.In this case, the Style.TargetType value qualifies the Setter.Property values that are located in the XAML nodes underneath it. Setter.Property wird verwendet, der Typkonverterverhalten für eine DependencyProperty.Setter.Property uses the type converter behavior for a DependencyProperty. Dieses Verhalten greift auf den Ambient- Style.TargetType Wert durch Abfragen GetFirstAmbientValue aus einen Dienstkontext, der für Typkonverter und Markuperweiterungen verfügbar ist.This behavior accesses the ambient Style.TargetType value by querying GetFirstAmbientValue from a service context that is available to type converters and markup extensions.

Eine ambient-Typ-Szenario, die in der WPF-Featuresatz dargestellte ist ResourceDictionary.An ambient type scenario that is illustrated in the WPF feature set is ResourceDictionary. ResourceDictionary verfügt über eine MergedDictionaries -Eigenschaft, die andere enthält kann ResourceDictionary Objekte zusammenführen und der gewünschten Auflösungsreihenfolge Ressource für die zusammengeführten Szenario Konflikte mit der Reihenfolge, in Typen geladen werden.ResourceDictionary has a MergedDictionaries property that can contain other ResourceDictionary objects to merge, and the intended order of resource resolution for the merged scenario clashes with the order that types are loaded. ResourceDictionary wendet AmbientAttribute , damit ein XAML-Prozessor die Verweise in einem zusammengeführten Wörterbuch mit ordnungsgemäß verarbeiten kann StaticResource Verwendungen.ResourceDictionary applies AmbientAttribute so that a XAML processor can correctly process the references in a merged dictionary with StaticResource usages. Insbesondere StaticResource ist eine Markuperweiterung, die aufruft GetAllAmbientValues.Specifically, StaticResource is a markup extension, which calls GetAllAmbientValues.

Methoden

GetAllAmbientValues(XamlType[]) GetAllAmbientValues(XamlType[]) GetAllAmbientValues(XamlType[]) GetAllAmbientValues(XamlType[])

Gibt einen aufzählbaren Satz von Objektinstanzen möglicher Ambient-Typen für die angeforderten Typen zurück.Returns an enumerable set of object instances of possible ambient types for the requested types.

GetAllAmbientValues(IEnumerable<XamlType>, XamlMember[]) GetAllAmbientValues(IEnumerable<XamlType>, XamlMember[]) GetAllAmbientValues(IEnumerable<XamlType>, XamlMember[]) GetAllAmbientValues(IEnumerable<XamlType>, XamlMember[])

Gibt einen aufzählbaren Satz von Ambient-Eigenschaftsinformationselementen für den angeforderten Eigenschaftssatz zurück.Returns an enumerable set of ambient property information items for the requested set of properties.

GetAllAmbientValues(IEnumerable<XamlType>, Boolean, IEnumerable<XamlType>, XamlMember[]) GetAllAmbientValues(IEnumerable<XamlType>, Boolean, IEnumerable<XamlType>, XamlMember[]) GetAllAmbientValues(IEnumerable<XamlType>, Boolean, IEnumerable<XamlType>, XamlMember[]) GetAllAmbientValues(IEnumerable<XamlType>, Boolean, IEnumerable<XamlType>, XamlMember[])

Gibt einen aufzählbaren Satz von Ambient-Eigenschaftsinformationselementen für den angeforderten Satz von Typen und Eigenschaften zurück.Returns an enumerable set of ambient property information items for the requested set of types and properties.

GetFirstAmbientValue(XamlType[]) GetFirstAmbientValue(XamlType[]) GetFirstAmbientValue(XamlType[]) GetFirstAmbientValue(XamlType[])

Gibt das erste übereinstimmende Objekt zurück, bei dem es sich um einen möglichen Ambient-Typ für die angeforderten Typen handelt.Returns the first matching object that is a possible ambient type for the requested types.

GetFirstAmbientValue(IEnumerable<XamlType>, XamlMember[]) GetFirstAmbientValue(IEnumerable<XamlType>, XamlMember[]) GetFirstAmbientValue(IEnumerable<XamlType>, XamlMember[]) GetFirstAmbientValue(IEnumerable<XamlType>, XamlMember[])

Gibt ein einzelnes Ambient-Eigenschaftsinformationselement vom angeforderten Eigenschaftssatz zurück. Dies ist abhängig von der zuerst gefundenen Eigenschaft.Returns a single ambient property information item from the requested set of properties, based on which property is first encountered.

Gilt für:

Siehe auch