Defines a contract for how names of elements should be accessed within a particular XAML namescope, and how to enforce uniqueness of names within that XAML namescope.
Assembly: System.Xaml (in System.Xaml.dll)
This interface is implemented by classes that have child elements that are intended to be reused through the template or defer metaphor. Templates, factories and similar constructs must have unique XAML namescopes that are separate from a main object graph and root XAML. The principle here is that there should be no name collisions when objects created from those child elements are introduced to an application's object graph, and so that DOM operations and XAML reference techniques that rely on the name identifier can rely on name uniqueness in each XAML namescope.
In previous versions of the .NET Framework, this interface existed in the WPF-specific assembly WindowsBase. In .NET Framework 4, Types Migrated from WPF to System.Xaml.is in the System.Xaml assembly. For more information, see
This interface is implemented by the WPF class NameScope. Most XAML namescope operations in WPF operate by using NameScope instances, but information is occasionally communicated internally by using references.
Examples of WPF classes that use a factory or defer metaphor combined with XAML representation are Style and FrameworkTemplate. These implementations usually rely on the explicit versions of the interface methods available from the NameScope class.
Available since 3.0