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 设计器扩展性