MetadataStore 类

更新:2007 年 11 月

自定义设计时属性的容器。

命名空间:  Microsoft.Windows.Design.Metadata
程序集:  Microsoft.Windows.Design(在 Microsoft.Windows.Design.dll 中)

语法

声明
Public NotInheritable Class MetadataStore
用法
不需要声明静态类的实例来访问其成员。
public static class MetadataStore
public ref class MetadataStore abstract sealed
public final class MetadataStore

备注

使用 MetadataStore 类可以将自定义设计时属性附加到类型。在用 AttributeTableBuilder 创建的 AttributeTable 中指定自定义属性。

通过使用 AddAttributeTable 方法将该属性表添加到元数据存储区中。添加后,调用 TypeDescriptor 时便会显示这些属性。

示例

下面的代码示例演示如何创建 AttributeTable 以将装饰器提供程序与控件类相关联。有关更多信息,请参见演练:创建设计时装饰器

' 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.
Friend Class Metadata
    Implements IRegisterMetadata

    ' Called by the designer to register any design-time metadata.
    Public Sub Register() Implements IRegisterMetadata.Register
        Dim builder As New AttributeTableBuilder()

        ' Add the adorner provider to the design-time metadata.
        builder.AddCustomAttributes(GetType(ButtonWithDesignTime), _
                                    New FeatureAttribute(GetType(OpacitySliderAdornerProvider)))

        MetadataStore.AddAttributeTable(builder.CreateTable())
    End Sub

End Class
// 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());
    }
}

继承层次结构

System.Object
  Microsoft.Windows.Design.Metadata.MetadataStore

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

另请参见

参考

MetadataStore 成员

Microsoft.Windows.Design.Metadata 命名空间

AttributeTable

AttributeTableBuilder

其他资源

元数据存储区