IXamlNameResolver Interfaccia
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Descrive un servizio che può restituire oggetti specificati in base al nome XAML o in alternativa restituire un token che posticipa la risoluzione dei nomi. Il servizio può inoltre restituire un set enumerabile di tutti gli oggetti denominati presenti nel NameScope XAML.
public interface class IXamlNameResolver
public interface IXamlNameResolver
type IXamlNameResolver = interface
Public Interface IXamlNameResolver
Commenti
Questa interfaccia non è destinata all'implementazione esterna di scenari XAML tipici perché è un servizio. Questo servizio consente alle estensioni di markup e ai convertitori di tipi di risolvere i nomi XAML in altri oggetti dalla stessa origine XAML mentre sono ancora in una rappresentazione del nodo XAML. Il servizio può essere usato per risolvere i riferimenti in avanti per qualsiasi meccanismo che si basa sui nomi XAML per l'accesso nonlineare all'ambiente di produzione XAML circostante. Per altre informazioni, vedere Convertitori di tipi e estensioni di markup per XAML.
I convertitori di tipi e le estensioni di markup possono eseguire query su IXamlNameResolver come servizio nel contesto del servizio fornito da un writer di oggetti XAML, quando il writer di oggetti XAML richiama il comportamento di conversione dei valori. Per altre informazioni, vedere Convertitori di tipi e estensioni di markup per contesti di servizio e XAML disponibili per convertitori di tipi e estensioni di markup.
Questo servizio espone un'API che può rinviare la risoluzione dei nomi. La metafora implementata dal servizio è che i nomi che non possono essere risolti in un primo passaggio rispetto a un grafico a oggetti nome parziale devono essere archiviati e usati per creare il token di correzione. Nel comportamento predefinito, tutti questi nomi vengono inviati per un altro tentativo di risoluzione in un secondo passaggio. Nel secondo passaggio il grafico complessivo dell'oggetto nome è completo e tutti i token di correzione sono in grado di risolvere.
Nota
Anche se sono consentiti da una particolare implementazione, i riferimenti in avanti in XAML hanno inevitabilmente conseguenze sulle prestazioni. Come procedura consigliata per XAML di qualità di produzione, evitare riferimenti in avanti ogni volta che è possibile.
Proprietà
IsFixupTokenAvailable |
Ottiene un valore che determina se la chiamata a GetFixupToken(IEnumerable<String>, Boolean) è disponibile per risolvere un nome in un token per la risoluzione in avanti. |
Metodi
GetAllNamesAndValuesInScope() |
Restituisce un set enumerabile di tutti gli oggetti denominati nel NameScope XAML. |
GetFixupToken(IEnumerable<String>) |
Restituisce un oggetto che può correggere alcuni modelli di markup che producono riferimenti in avanti. |
GetFixupToken(IEnumerable<String>, Boolean) |
Restituisce un oggetto che può correggere alcuni modelli di markup che producono riferimenti in avanti. |
Resolve(String) |
Risolve un oggetto da un riferimento del nome. |
Resolve(String, Boolean) |
Risolve un oggetto da un riferimento del nome e fornisce un valore di rilevamento che riporta se l'oggetto viene inizializzato completamente ai fini degli oggetti grafici. |
Eventi
OnNameScopeInitializationComplete |
Si verifica quando un processore XAML ha registrato tutti i nomi relativi al NameScope XAML sottostante. |