Partager via


FeatureManager, classe

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

Hiérarchie d'héritage

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

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

Syntaxe

'Déclaration
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

Le type FeatureManager expose les membres suivants.

Constructeurs

  Nom Description
Méthode publique FeatureManager Initialise une nouvelle instance de la classe FeatureManager.

Début

Propriétés

  Nom Description
Propriété publique Context Reçoit le contexte d'édition de ce gestionnaire de fonctionnalités.
Propriété publique MetadataProvider Obtient ou définit un fournisseur de métadonnées personnalisé qui peut fournir des métadonnées de type pour ce gestionnaire de fonctionnalités.
Propriété publique PendingConnectors Obtient une énumération de tous les connecteurs qui n'ont pas encore été activés parce qu'ils attendent des éléments de contexte ou des services.
Propriété publique RunningConnectors Obtient une énumération de tous les connecteurs qui sont en cours d'exécution.

Début

Méthodes

  Nom Description
Méthode publique CreateFeatureProviders(Type) Crée et retourne un jeu de fournisseurs de fonctionnalités pour le type spécifié.
Méthode publique CreateFeatureProviders(Type, Predicate<Type>) Crée et retourne un jeu de fournisseurs de fonctionnalités pour le type spécifié.
Méthode publique CreateFeatureProviders(Type, Type) Crée et retourne un jeu des fournisseurs de fonctionnalités qui existent pour le type spécifié.
Méthode publique CreateFeatureProviders(Type, Type, Predicate<Type>) Crée et retourne un jeu des fournisseurs de fonctionnalités qui existent pour le type spécifié.
Méthode publique Dispose() Libère toutes les ressources utilisées par FeatureManager.
Méthode protégée Dispose(Boolean) Supprime tous les connecteurs de fonctionnalités en cours d'exécution.
Méthode publique Equals Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.)
Méthode protégée Finalize Finaliseur qui appelle Dispose. (Substitue Object.Finalize().)
Méthode publique GetCustomAttributes Énumère des attributs sur le type spécifié.
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique InitializeFeatures Initialise tous les connecteurs de fonctionnalités pour les fournisseurs de fonctionnalités du type défini.
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode protégée OnFeatureAvailable Déclenche l'événement FeatureAvailable.
Méthode publique ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)

Début

Événements

  Nom Description
Événement public FeatureAvailable En présence d'un nouveau type de fonctionnalité.

Début

Méthodes d'extension

  Nom Description
Méthode d'extension publique CreateFeatureProviders(Type, ModelItem) Surchargé. Crée des fournisseurs de fonctionnalités du type et de l'élément de modèle spécifiés. (Défini par FeatureExtensions.)
Méthode d'extension publique CreateFeatureProviders(Type, ModelItem, Predicate<Type>) Surchargé. Crée des fournisseurs de fonctionnalités du type et de l'élément de modèle spécifiés. (Défini par FeatureExtensions.)

Début

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

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

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