IXamlNameResolver Gränssnitt
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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. |