Поделиться через


MetadataStore - класс

Обновлен: Ноябрь 2007

Контейнер настраиваемых атрибутов времени разработки.

Пространство имен:  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 предназначен для присоединения настраиваемых атрибутов времени разработки к типам. Настраиваемые атрибуты задаются в классе AttributeTable, который создается с помощью класса AttributeTableBuilder.

Для добавления таблицы атрибутов в хранилище метаданных используется метод 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 (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.

См. также

Ссылки

MetadataStore - члены

Microsoft.Windows.Design.Metadata - пространство имен

AttributeTable

AttributeTableBuilder

Другие ресурсы

Хранилище метаданных