IXamlNameResolver Interfaccia

Definizione

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.

Si applica a

Vedi anche