NameScopePropertyAttribute Class


Specifies a property of the associated class that provides the XAML namescope value.

Namespace:   System.Windows.Markup
Assembly:  System.Xaml (in System.Xaml.dll)


[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = false, 
	Inherited = true)]
public sealed class NameScopePropertyAttribute : Attribute


Initializes a new instance of the NameScopePropertyAttribute class with the specified name.

System_CAPS_pubmethodNameScopePropertyAttribute(String, Type)

Initializes a new instance of the NameScopePropertyAttribute class with the specified name and type.


Gets the name of the property that provides the XAML namescope.


Gets the owner type of the attached property that provides the XAML namescope support.


When implemented in a derived class, gets a unique identifier for this Attribute.(Inherited from Attribute.)


This API supports the product infrastructure and is not intended to be used directly from your code. Returns a value that indicates whether this instance is equal to a specified object.(Inherited from Attribute.)


Returns the hash code for this instance.(Inherited from Attribute.)


Gets the Type of the current instance.(Inherited from Object.)


When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.(Inherited from Attribute.)


When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.(Inherited from Attribute.)


Returns a string that represents the current object.(Inherited from Object.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Maps a set of names to a corresponding set of dispatch identifiers.(Inherited from Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Retrieves the type information for an object, which can be used to get the type information for an interface.(Inherited from Attribute.)


Retrieves the number of type information interfaces that an object provides (either 0 or 1).(Inherited from Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Provides access to properties and methods exposed by an object.(Inherited from Attribute.)

In a typical object model / application model combination where XAML is used, the classes that are used as a XAML namescope are the classes that are generally used as root elements, or that support a page metaphor. These classes generally implement INameScope and the XAML namescope is created corresponding to the root by typical XAML processing behavior in context of a framework's programming model and application model.

If NameScopePropertyAttribute is used, the XAML namescope property value is expected to be an object that implements INameScope and holds the actual XAML namescope and its behavior.

There are two forms for this attribute: property name only, or type and property. The latter form should be used only for cases where the property that holds the XAML name scope is an attachable member. The attached member technique has the advantage that service classes can implement a XAML namescope concept that can support several different object types. Those object types then do not need to be explicitly related in class inheritance.

In previous versions of the .NET Framework, this class existed in the WPF-specific assembly WindowsBase. In .NET Framework 4, NameScopePropertyAttribute is in the System.Xaml assembly. For more information, see Types Migrated from WPF to System.Xaml.

In WPF, this attribute is applied to only a single type, DependencyObject. In this case the attributed property is the service class NameScope and its NameScope.NameScopeattached property.

.NET Framework
Available since 3.0

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2015 Microsoft