FeatureManager クラス

更新 : 2007 年 11 月

機能プロバイダと機能コネクタを管理します。

名前空間 :  Microsoft.Windows.Design.Features
アセンブリ :  Microsoft.Windows.Design.Extensibility (Microsoft.Windows.Design.Extensibility.dll 内)

構文

'宣言
Public Class FeatureManager _
    Implements IDisposable
'使用
Dim instance As FeatureManager
public class FeatureManager : IDisposable
public ref class FeatureManager : IDisposable
public class FeatureManager implements IDisposable

解説

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);
    }
}

継承階層

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

スレッド セーフ

この型のすべてのパブリック static (Visual Basic では Shared) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

参照

参照

FeatureManager メンバ

Microsoft.Windows.Design.Features 名前空間

FeatureProvider

FeatureConnector<TFeatureProviderType>

その他の技術情報

方法 : カスタム機能コネクタを作成する

機能プロバイダと機能コネクタ

WPF デザイナの機能拡張について