FeatureProvider, classe
Ajoute à une fonctionnalité une contribution spécifique à la classe.
Hiérarchie d'héritage
System.Object
Microsoft.Windows.Design.Features.FeatureProvider
Microsoft.Windows.Design.Interaction.Adapter
Microsoft.Windows.Design.Interaction.AdornerProvider
Microsoft.Windows.Design.Interaction.ContextMenuProvider
Microsoft.Windows.Design.Interaction.TaskProvider
Microsoft.Windows.Design.Model.DefaultInitializer
Microsoft.Windows.Design.Model.DesignModeValueProvider
Espace de noms : Microsoft.Windows.Design.Features
Assembly : Microsoft.Windows.Design.Extensibility (dans Microsoft.Windows.Design.Extensibility.dll)
Syntaxe
'Déclaration
Public MustInherit Class FeatureProvider
public abstract class FeatureProvider
public ref class FeatureProvider abstract
[<AbstractClass>]
type FeatureProvider = class end
public abstract class FeatureProvider
Le type FeatureProvider expose les membres suivants.
Constructeurs
Nom | Description | |
---|---|---|
FeatureProvider | Initialise une nouvelle instance de la classe FeatureProvider. |
Début
Méthodes
Nom | Description | |
---|---|---|
Equals | Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.) | |
Finalize | Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.) | |
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) | |
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) | |
MemberwiseClone | Crée une copie superficielle de l'objet Object actif. (Hérité de Object.) | |
ToString | Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.) |
Début
Notes
Dérive de la classe abstraite FeatureProvider pour étendre le moment du design de vos contrôles personnalisés.
Les fournisseurs de fonctionnalités sont gérés par connecteurs de fonctionnalités et sont associés aux objets à travers l'attribut de métadonnées FeatureAttribute. Le connecteur de fonctionnalités découvre des types FeatureProvider à partir de ces métadonnées. La classe FeatureManager identifie le connecteur de fonctionnalités requis pour chaque fournisseur de fonctionnalités découvert.
Les implémentations communes d'un fournisseur de fonctionnalités regroupent les ornements, les menus contextuels et les éditeurs de propriétés.
Pour joindre un fournisseur de fonctionnalités à la sélection primaire sur l'aire de conception, dérivez de l'un des fournisseurs de fonctionnalités auquel PrimarySelectionPolicy a été par exemple PrimarySelectionAdornerProvider ou
PrimarySelectionContextMenuProvider.
Exemples
L'exemple de code suivant indique comment dériver de la classe FeatureProvider pour implémenter un fournisseur de fonctionnalités personnalisé nommé DiagnosticsMenuProvider avec un service personnalisé nommé IDiagnosticsService. Pour obtenir l'intégralité du code, consultez Comment : créer un connecteur de fonctionnalités personnalisé.
' The DiagnosticsMenuProvider class adds a context menu item
' that displays a dialog box listing the currently running and
' pending feature connectors.
<FeatureConnector(GetType(DiagnosticsFeatureConnector))> _
Public Class DiagnosticsMenuProvider
Inherits PrimarySelectionContextMenuProvider
Public Sub New()
Dim action As New MenuAction("Feature Diagnostics...")
AddHandler action.Execute, AddressOf action_Execute
Items.Add(action)
End Sub
Sub action_Execute(ByVal sender As Object, ByVal e As MenuActionEventArgs)
Dim service As IDiagnosticsService = e.Context.Services.GetRequiredService(Of IDiagnosticsService)()
service.ShowWindow()
End Sub
End Class
// The DiagnosticsMenuProvider class adds a context menu item
// that displays a dialog box listing the currently running and
// pending feature connectors.
[FeatureConnector(typeof(DiagnosticsFeatureConnector))]
public class DiagnosticsMenuProvider : PrimarySelectionContextMenuProvider
{
public DiagnosticsMenuProvider()
{
MenuAction action = new MenuAction("Feature Diagnostics...");
action.Execute += new EventHandler<MenuActionEventArgs>(action_Execute);
Items.Add(action);
}
void action_Execute(object sender, MenuActionEventArgs e)
{
IDiagnosticsService service =
e.Context.Services.GetRequiredService<IDiagnosticsService>();
service.ShowWindow();
}
}
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
FeatureConnector<TFeatureProviderType>
PrimarySelectionAdornerProvider
PrimarySelectionContextMenuProvider
Autres ressources
Comment : créer un connecteur de fonctionnalités personnalisé
Fournisseurs de fonctionnalités et connecteurs de fonctionnalités