Partage via


INameScope Interface

Définition

Définit un contrat qui régit le mode d’accès aux noms d’éléments dans une portée de nom XAML déterminée et la façon dont l’unicité des noms est appliquée dans cette portée.

public interface class INameScope
public interface INameScope
type INameScope = interface
Public Interface INameScope
Dérivé

Remarques

Cette interface est implémentée par des classes qui ont des éléments enfants destinés à être réutilisés via le modèle ou la métaphore de report. Les modèles, les fabriques et les constructions similaires doivent avoir des namescopes XAML uniques qui sont séparés d’un graphique d’objets main et du XAML racine. Le principe ici est qu’il ne doit pas y avoir de collisions de noms lorsque des objets créés à partir de ces éléments enfants sont introduits dans le graphe d’objets d’une application, de sorte que les opérations DOM et les techniques de référence XAML qui s’appuient sur l’identificateur de nom peuvent s’appuyer sur l’unicité de nom dans chaque namescope XAML.

Dans les versions précédentes du .NET Framework, cette interface existait dans l’assembly WindowsBase spécifique à WPF. Dans .NET Framework 4, INameScope se trouve dans l’assembly System.Xaml. Pour plus d'informations, consultez Types Migrated from WPF to System.Xaml.

Remarques sur l'utilisation de WPF

Cette interface est implémentée par la classe NameScopeWPF . La plupart des opérations de namescope XAML dans WPF fonctionnent à l’aide NameScope d’instances, mais les informations sont parfois communiquées en interne à l’aide INameScope de références.

Les exemples de classes WPF qui utilisent une métaphore de fabrique ou de report combinée à une représentation XAML sont Style et FrameworkTemplate. Ces implémentations s’appuient généralement sur les versions explicites des méthodes d’interface disponibles à partir de la NameScope classe .

Méthodes

FindName(String)

Retourne un objet qui a le nom d’identification fourni.

RegisterName(String, Object)

Inscrit le nom fourni dans l’étendue de nom XAML actuelle.

UnregisterName(String)

Désinscrit le nom fourni dans l’étendue de nom XAML actuelle.

S’applique à

Voir aussi