FeatureManager, classe

Mise à jour : novembre 2007

Gère les fournisseurs et les connecteurs de fonctionnalités.

Espace de noms :  Microsoft.Windows.Design.Features
Assembly :  Microsoft.Windows.Design.Extensibility (dans Microsoft.Windows.Design.Extensibility.dll)

Syntaxe

Public Class FeatureManager _
    Implements IDisposable

Dim instance As FeatureManager
public class FeatureManager : IDisposable
public ref class FeatureManager : IDisposable
public class FeatureManager implements IDisposable

Notes

Utilisez la classe FeatureManager pour créer des fournisseurs de fonctionnalités et interroger les connecteurs de fonctionnalités en cours d'exécution et en attente.

Si un connecteur de fonctionnalités doit être instancié, alors qu'il s'abonne à des services ou éléments de contexte qui n'existent pas encore, le type de connecteur est mis en liste en attente et les abonnements sont ajoutés au contexte d'édition. Lorsque les services et éléments corrects deviennent disponibles, le connecteur de fonctionnalités est instancié.

Lorsqu'un objet est ajouté à un modèle d'édition, il doit appeler la méthode InitializeFeatures du gestionnaire de fonctionnalités qui inspecte l'objet pour vérifier les attributs de fonctionnalité. Il suit ces attributs FeatureConnector<TFeatureProviderType> pour s'assurer que tous les connecteurs uniques ont été instanciés.

Exemples

L'exemple de code suivant indique comment utiliser la classe FeatureManager pour accéder aux connecteurs en cours d'exécution et en attente. Pour obtenir l'intégralité du code, consultez Comment : créer un connecteur de fonctionnalités personnalisé.

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

Hiérarchie d'héritage

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

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Membres FeatureManager

Microsoft.Windows.Design.Features, espace de noms

FeatureProvider

FeatureConnector<TFeatureProviderType>

Autres ressources

Comment : créer un connecteur de fonctionnalités personnalisé

Fournisseurs de fonctionnalités et connecteurs de fonctionnalités

Fonctionnement de l'extensibilité du concepteur WPF