INameScope Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Define um contrato de como os nomes de elementos devem ser acessados em um namescope XAML específico e como impor a exclusividade de nomes dentro desse namescope XAML.
public interface class INameScope
public interface INameScope
type INameScope = interface
Public Interface INameScope
- Derivado
Comentários
Essa interface é implementada por classes que têm elementos filho que devem ser reutilizados por meio do modelo ou da metáfora de adiamento. Modelos, fábricas e construções semelhantes devem ter namescopes XAML exclusivos separados de um grafo de objeto principal e XAML raiz. O princípio aqui é que não deve haver colisões de nome quando objetos criados a partir desses elementos filho são introduzidos no grafo de objeto de um aplicativo e, portanto, as operações DOM e técnicas de referência XAML que dependem do identificador de nome podem depender da exclusividade do nome em cada namescope XAML.
Em versões anteriores do .NET Framework, essa interface existia no assembly específico do WPF WindowsBase. No .NET Framework 4, INameScope está no assembly System.Xaml. Para obter mais informações, consulte Tipos Migrados do WPF para System.Xaml.
Notas de uso do WPF
Essa interface é implementada pela classe NameScopeWPF. A maioria das operações de namescope XAML no WPF opera usando NameScope instâncias, mas as informações ocasionalmente são comunicadas internamente usando INameScope referências.
Exemplos de classes WPF que usam uma metáfora de fábrica ou adiamento combinada com representação XAML são Style e FrameworkTemplate. Essas implementações geralmente dependem das versões explícitas dos métodos de interface disponíveis na NameScope classe.
Métodos
| Nome | Description |
|---|---|
| FindName(String) |
Retorna um objeto que tem o nome de identificação fornecido. |
| RegisterName(String, Object) |
Registra o nome fornecido no namescope XAML atual. |
| UnregisterName(String) |
Cancela o registro do nome fornecido do namescope XAML atual. |