IXamlNameResolver Gränssnitt

Definition

Beskriver en tjänst som kan returnera objekt som anges med XAML-namn, eller som alternativt returnerar en token som defers namnmatchning. Tjänsten kan också returnera en uppräkningsbar uppsättning med alla namngivna objekt som finns i XAML-namnskopet.

public interface class IXamlNameResolver
public interface IXamlNameResolver
type IXamlNameResolver = interface
Public Interface IXamlNameResolver

Kommentarer

Det här gränssnittet är inte avsett för extern implementering av typiska XAML-scenarier eftersom det är en tjänst. Den här tjänsten gör det möjligt för markeringstillägg och typkonverterare att matcha XAML-namn till andra objekt från samma XAML-källa medan de fortfarande finns i en XAML-nodrepresentation. Tjänsten kan användas för att lösa vidarereferenser för alla mekanismer som förlitar sig på XAML-namn för icke-linjär åtkomst till den omgivande XAML-produktionen. Mer information finns i Type Converters and Markup Extensions for XAML (Typkonverterare och markeringstillägg för XAML).

Typkonverterare och markeringstillägg kan fråga IXamlNameResolver efter som en tjänst i tjänstkontexten som tillhandahålls av en XAML-objektskrivare när XAML-objektskrivaren anropar beteende för värdekonvertering. Mer information finns i Type Converters and Markup Extensions for XAML and Service Contexts Available to Type Converters and Markup Extensions (Type Converters and Markup Extensions for XAML and Service Contexts Available to Type Converters and Markup Extensions ( Typkonverterare och markeringstillägg).

Den här tjänsten exponerar ett API som kan skjuta upp namnmatchning. Metaforen som implementeras av tjänsten är att namn som inte kan matchas i ett första pass mot ett partiellt namnobjektdiagram ska lagras och användas för att skapa korrigeringstoken. I standardbeteendet skickas alla sådana namn för ett annat lösningsförsök vid ett andra pass. Vid det andra passet är diagrammet för det övergripande namnobjektet slutfört och alla korrigeringstoken kan matchas.

Note

Även om de tillåts av en viss implementering får vidarereferenser i XAML oundvikligen prestandakonsekvenser. Som bästa praxis för XAML av produktionskvalitet bör du undvika vidarekopplingsreferenser när det är möjligt.

Egenskaper

Name Description
IsFixupTokenAvailable

Hämtar ett värde som avgör om anrop GetFixupToken(IEnumerable<String>, Boolean) är tillgängligt för att matcha ett namn till en token för framåtmatchning.

Metoder

Name Description
GetAllNamesAndValuesInScope()

Returnerar en uppräkningsbar uppsättning med alla namngivna objekt i XAML-namnskopet.

GetFixupToken(IEnumerable<String>, Boolean)

Returnerar ett objekt som kan korrigeras för vissa markeringsmönster som skapar framåtriktade referenser.

GetFixupToken(IEnumerable<String>)

Returnerar ett objekt som kan korrigeras för vissa markeringsmönster som skapar framåtriktade referenser.

Resolve(String, Boolean)

Löser ett objekt från en namnreferens och tillhandahåller ett spårningsvärde som rapporterar om objektet är helt initierat för objektgrafändamål.

Resolve(String)

Löser ett objekt från en namnreferens.

Händelser

Name Description
OnNameScopeInitializationComplete

Inträffar när en XAML-processor har registrerat alla relevanta namn i XAML-namnskopet.

Gäller för

Se även