TemplatePartAttribute Class


Represents an attribute that is applied to the class definition to identify the types of the named parts that are used for templating.

public ref class TemplatePartAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true)]
public sealed class TemplatePartAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true)>]
type TemplatePartAttribute = class
    inherit Attribute
Public NotInheritable Class TemplatePartAttribute
Inherits Attribute


Control authors apply this attribute to the class definition to inform template authors the types of the parts to use for styling the class. These parts are usually required in the template and have a specific predefined name. There can only be one element with a given name in any template.

For example, if you look at the class declaration of the ComboBox class, you can see that the parts PART_EditableTextBox and PART_Popup are of types TextBox and Popup respectively.

For more information, see Guidelines for Designing Stylable Controls

XAML Text Usage

You cannot use this class or its properties in XAML.



Initializes a new instance of the TemplatePartAttribute class.



Gets or sets the pre-defined name of the part.


Gets or sets the type of the named part this attribute is identifying.


When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)



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)

Creates a shallow copy of the current Object.

(Inherited from Object)

Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

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

Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_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)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Applies to

See also