INameScope Interface
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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.
public interface class INameScope
public interface INameScope
type INameScope = interface
Public Interface INameScope
- Derived
Remarks
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, INameScope is in the System.Xaml assembly. For more information, see Types Migrated from WPF to System.Xaml.
WPF Usage Notes
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 INameScope 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.
Methods
FindName(String) |
Returns an object that has the provided identifying name. |
RegisterName(String, Object) |
Registers the provided name into the current XAML namescope. |
UnregisterName(String) |
Unregisters the provided name from the current XAML namescope. |