This documentation is archived and is not being maintained.

IRegisterMetadata Interface

.NET Framework 3.5

Specifies a class that requests extra attributes to be added to the metadata store.

Namespace:  Microsoft.Windows.Design.Metadata
Assembly:  Microsoft.Windows.Design (in Microsoft.Windows.Design.dll)

public interface IRegisterMetadata

Implement the IRegisterMetadata interface to provide custom attributes for defining the design-time behavior and appearance of Windows Presentation Foundation (WPF) controls. Each design-time metadata assembly must include a type that implements IRegisterMetadata.

The following code example shows how to implement the IRegisterMetadata interface. The Metadata class attaches an adorner provider to a control. For more information, see Walkthrough: Creating a Design-time Adorner.

// Container for any general design-time metadata to initialize. 
// Designers look for a type in the design-time assembly that  
// implements IRegisterMetadata. If found, designers instantiate  
// this class and call its Register() method automatically. 
internal class Metadata : IRegisterMetadata
{
    // Called by the designer to register any design-time metadata. 
    public void Register()
    {
        AttributeTableBuilder builder = new AttributeTableBuilder();

        // Add the adorner provider to the design-time metadata.
        builder.AddCustomAttributes(
            typeof(ButtonWithDesignTime), 
            new FeatureAttribute(typeof(OpacitySliderAdornerProvider)));

        MetadataStore.AddAttributeTable(builder.CreateTable());
    }
}
Show: