Sdílet prostřednictvím


FeatureManager-Klasse

Aktualisiert: November 2007

Verwaltet Featureanbieter und Featureverbindungen.

Namespace:  Microsoft.Windows.Design.Features
Assembly:  Microsoft.Windows.Design.Extensibility (in Microsoft.Windows.Design.Extensibility.dll)

Syntax

'Declaration
Public Class FeatureManager _
    Implements IDisposable
'Usage
Dim instance As FeatureManager
public class FeatureManager : IDisposable
public ref class FeatureManager : IDisposable
public class FeatureManager implements IDisposable

Hinweise

Verwenden Sie die FeatureManager-Klasse, um Featureanbieter zu erstellen und ausgeführte und ausstehende Featureverbindungen abzufragen.

Wenn eine Featureverbindung instanziiert werden muss, die noch nicht bestehende Dienste oder Kontextelemente abonniert, wird der Connectortyp als ausstehend in eine Liste eingetragen und dem Bearbeitungskontext werden Abonnements hinzugefügt. Wenn die richtigen Dienste und Elemente verfügbar werden, wird die Featureverbindung instanziiert.

Wenn einem Bearbeitungsmodell ein Objekt hinzugefügt wird, sollte das Bearbeitungsmodell die InitializeFeatures-Methode für den Feature-Manager aufrufen, die das Objekt auf Featureattribute untersucht. Sie folgt diesen Attributen zu FeatureConnector<TFeatureProviderType>-Attributen und stellt sicher, dass alle eindeutigen Verbindungen instanziiert wurden.

Beispiele

Im folgenden Beispielcode wird gezeigt, wie mit der FeatureManager-Klasse auf aktive und ausstehende Verbindungen zugegriffen wird. Die vollständige Codeauflistung finden Sie unter Gewusst wie: Erstellen einer benutzerdefinierten Featureverbindung.

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

Vererbungshierarchie

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

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Siehe auch

Referenz

FeatureManager-Member

Microsoft.Windows.Design.Features-Namespace

FeatureProvider

FeatureConnector<TFeatureProviderType>

Weitere Ressourcen

Gewusst wie: Erstellen einer benutzerdefinierten Featureverbindung

Featureanbieter und Featureverbindungen

WPF-Designer-Erweiterbarkeit