共用方式為


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 的淺層複本 (Shallow Copy)。 (繼承自 Object)。
受保護的方法 OnFeatureAvailable 引發 FeatureAvailable 事件。
公用方法 ToString 傳回表示目前物件的字串。 (繼承自 Object)。

回頁首

事件

  名稱 說明
公用事件 FeatureAvailable 發生於可以使用功能的新型別時。

回頁首

擴充方法

  名稱 說明
公用擴充方法 CreateFeatureProviders(Type, ModelItem) 多載。 建立指定之型別和模型項目的功能提供者。 (以 FeatureExtensions 定義。)
公用擴充方法 CreateFeatureProviders(Type, ModelItem, Predicate<Type>) 多載。 建立指定之型別和模型項目的功能提供者。 (以 FeatureExtensions 定義。)

回頁首

備註

您可以使用 FeatureManager 類別建立功能提供者,並查詢執行中和暫止的功能連接器。

如果必須將功能連接器具現化,但是它所訂閱的服務或內容項目卻不存在,則會將這個連結器型別列於暫止清單中,而且將訂閱加入至編輯內容。 一旦可以使用正確的服務和項目,便會將功能連接器具現化。

當物件加入至編輯模型時,編輯模型就必須對功能管理員呼叫 InitializeFeatures 方法,以檢查物件是否有功能屬性。 它會沿著這些屬性檢查至 FeatureConnector<TFeatureProviderType> 屬性,並確保所有唯一的連接器都已具現化。

範例

下列範例程式碼顯示如何使用 FeatureManager 類別,以存取執行中與暫止的連接器。 如需完整的程式碼清單,請參閱 HOW TO:建立自訂功能連接器

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

執行緒安全

這個型別的任何 Public static (在 Visual Basic 中為 Shared) 成員都具備執行緒安全。並非所有的執行個體成員都是安全執行緒。

請參閱

參考

Microsoft.Windows.Design.Features 命名空間

FeatureProvider

FeatureConnector<TFeatureProviderType>

其他資源

HOW TO:建立自訂功能連接器

功能提供者和功能連接器

了解 WPF 設計工具擴充性