INameScope Interface
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Define um contrato para como os nomes dos elementos devem ser acedidos dentro de um determinado namescope XAML, e como impor a unicidade dos nomes dentro desse namescope XAML.
public interface class INameScope
public interface INameScope
type INameScope = interface
Public Interface INameScope
- Derivado
Observações
Esta interface é implementada por classes que têm elementos filhos que se destinam a ser reutilizados através da metáfora do template ou defer. Templates, fábricas e construções semelhantes devem ter namescopes XAML únicos que sejam separados do grafo principal de objetos e da raiz XAML. O princípio aqui é que não devem haver colisões de nomes quando objetos criados a partir desses elementos filhos são introduzidos no grafo de objetos de uma aplicação, e assim as operações DOM e as técnicas de referência XAML que dependem do identificador de nome podem depender da unicidade do nome em cada namescope XAML.
Em versões anteriores do .NET Framework, esta interface existia no WindowsBase assembly específico do WPF. Na .NET Framework 4, INameScope está na assembly System.Xaml. Para mais informações, veja Tipos Migrados de WPF para System.Xaml.
Notas de uso do WPF
Esta interface é implementada pela classe WPF NameScope. A maioria das operações de namescope XAML em WPF opera usando instâncias NameScope, mas a informação é ocasionalmente comunicada internamente através de referências INameScope.
Exemplos de classes de WPF que usam uma metáfora de fábrica ou de diferimento combinadas com representação XAML são Style e FrameworkTemplate. Estas implementações normalmente dependem das versões explícitas dos métodos de interface disponíveis na NameScope classe.
Métodos
| Name | Description |
|---|---|
| FindName(String) |
Devolve um objeto que tem o nome identificativo fornecido. |
| RegisterName(String, Object) |
Regista o nome fornecido no namescope XAML atual. |
| UnregisterName(String) |
Desregista o nome fornecido do namescope XAML atual. |