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


FeatureManager - класс

Управляет поставщиками компонентов и соединительными элементами.

Иерархия наследования

System.Object
  Microsoft.Windows.Design.Features.FeatureManager

Пространство имен:  Microsoft.Windows.Design.Features
Сборка:  Microsoft.Windows.Design.Extensibility (в Microsoft.Windows.Design.Extensibility.dll)

Синтаксис

'Декларация
Public Class FeatureManager _
    Implements IDisposable
public class FeatureManager : IDisposable
public ref class FeatureManager : IDisposable
type FeatureManager =  
    class
        interface IDisposable
    end
public class FeatureManager implements IDisposable

Тип FeatureManager предоставляет следующие члены.

Конструкторы

  Имя Описание
Открытый метод FeatureManager Инициализирует новый экземпляр класса FeatureManager.

В начало страницы

Свойства

  Имя Описание
Открытое свойство Context Возвращает контекст редактирования диспетчера функций.
Открытое свойство MetadataProvider Получает или задает настраиваемый поставщик метаданных, который может предоставить метаданные типа для данного диспетчера функций.
Открытое свойство PendingConnectors Возвращает перечисление всех функциональных соединителей, которые пока не были активированы, так как они ожидают появления элементов контекста или служб.
Открытое свойство RunningConnectors Возвращает перечисление всех работающих в данный момент функциональных соединителей.

В начало страницы

Методы

  Имя Описание
Открытый метод CreateFeatureProviders(Type) Создает и возвращает набор поставщиков функций указанного типа.
Открытый метод CreateFeatureProviders(Type, Predicate<Type>) Создает и возвращает набор поставщиков функций указанного типа.
Открытый метод CreateFeatureProviders(Type, Type) Создает и возвращает набор имеющихся поставщиков функций указанного типа.
Открытый метод CreateFeatureProviders(Type, Type, Predicate<Type>) Создает и возвращает набор имеющихся поставщиков функций указанного типа.
Открытый метод Dispose() Освобождает все ресурсы, используемые диспетчером FeatureManager.
Защищенный метод Dispose(Boolean) Освобождает все работающие функциональные соединители.
Открытый метод Equals Определяет, равен ли заданный объект Object текущему объекту Object. (Унаследовано от Object.)
Защищенный метод Finalize Метод завершения, который вызывает метод Dispose. (Переопределяет Object.Finalize().)
Открытый метод GetCustomAttributes Перечисляет атрибуты указанного типа.
Открытый метод GetHashCode Играет роль хэш-функции для определенного типа. (Унаследовано от Object.)
Открытый метод GetType Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.)
Открытый метод InitializeFeatures Инициализирует все функциональные соединители, определенные для поставщиков функций указанного типа.
Защищенный метод MemberwiseClone Создает неполную копию текущего объекта Object. (Унаследовано от Object.)
Защищенный метод OnFeatureAvailable Создает событие FeatureAvailable.
Открытый метод ToString Возвращение строки, представляющей текущий объект. (Унаследовано от Object.)

В начало страницы

События

  Имя Описание
Открытое событие FeatureAvailable Возникает при появлении нового типа функций.

В начало страницы

Методы расширения

  Имя Описание
Открытый метод расширения CreateFeatureProviders(Type, ModelItem) Перегружен. Создает поставщики функций указанного типа и элемента модели. (Определено в FeatureExtensions.)
Открытый метод расширения CreateFeatureProviders(Type, ModelItem, Predicate<Type>) Перегружен. Создает поставщики функций указанного типа и элемента модели. (Определено в FeatureExtensions.)

В начало страницы

Заметки

Класс FeatureManager используется для создания поставщиков функций и опроса работающих и ожидающих функциональных соединителей.

Если необходимо создать экземпляр функционального соединителя, но он подписан либо на службы, либо на элементы контекста, которые еще не существуют, то тип соединителя помещается в список ожидания, а его подписки добавляются в контекст редактирования. Экземпляр функционального соединителя создается, когда нужные службы и элементы становятся доступны.

Когда к модели редактирования добавляется объект, модель редактирования должна вызвать метод диспетчера функций InitializeFeatures, который проверяет объект на наличие атрибутов функций. Он отслеживает по ним атрибуты FeatureConnector<TFeatureProviderType> и обеспечивает создание экземпляров всех уникальных соединителей.

Примеры

В следующем примере показано, как класс FeatureManager используется для обращения к работающим и ожидающим соединителям. Полный исходный код см. в разделе Практическое руководство. Создание пользовательского соединительного элемент.

Public Sub Initialize(ByVal manager As FeatureManager)
    featManager = manager
    Bind()
End Sub


...


' Binds the activatedFeatures and pendingFeatures controls
' the FeatureManager's RunningConnectors and PendingConnectors\
' properties.
Private Sub Bind()
    activatedFeatures.Items.Clear()
    pendingFeatures.Items.Clear()

    Dim info As FeatureConnectorInformation
    For Each info In featManager.RunningConnectors
        activatedFeatures.Items.Add(info)
    Next info

    For Each info In featManager.PendingConnectors
        pendingFeatures.Items.Add(info)
    Next info

End Sub
public void Initialize(FeatureManager manager) 
{
    featManager = manager;
    Bind();
}


...


// Binds the activatedFeatures and pendingFeatures controls
// the FeatureManager's RunningConnectors and PendingConnectors\
// properties.
private void Bind() 
{
    activatedFeatures.Items.Clear();
    pendingFeatures.Items.Clear();

    foreach (FeatureConnectorInformation info in 
        featManager.RunningConnectors) 
    {
        activatedFeatures.Items.Add(info);
    }

    foreach (FeatureConnectorInformation info in 
        featManager.PendingConnectors) 
    {
        pendingFeatures.Items.Add(info);
    }
}

Потокобезопасность

Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.

См. также

Ссылки

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

FeatureProvider

FeatureConnector<TFeatureProviderType>

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

Практическое руководство. Создание пользовательского соединительного элемент

Поставщики функций и соединительные элементы

Общее представление о расширяемости конструктора WPF