FeatureProvider-Klasse
Fügt einem Feature einen klassenspezifischen Beitrag hinzu.
Vererbungshierarchie
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
Namespace: Microsoft.Windows.Design.Features
Assembly: Microsoft.Windows.Design.Extensibility (in Microsoft.Windows.Design.Extensibility.dll)
Syntax
'Declaration
Public MustInherit Class FeatureProvider
public abstract class FeatureProvider
public ref class FeatureProvider abstract
[<AbstractClass>]
type FeatureProvider = class end
public abstract class FeatureProvider
Der FeatureProvider-Typ macht die folgenden Member verfügbar.
Konstruktoren
Name | Beschreibung | |
---|---|---|
FeatureProvider | Initialisiert eine neue Instanz der FeatureProvider-Klasse. |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
Equals | Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.) | |
Finalize | Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.) | |
GetHashCode | Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.) | |
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) | |
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) | |
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) |
Zum Seitenanfang
Hinweise
Leiten Sie von der abstrakten FeatureProvider-Klasse ab, um die Entwurfszeit für die benutzerdefinierten Steuerelemente zu erweitern.
Featureanbieter werden von Featureconnectors verwaltet und durch das FeatureAttribute-Metadatenattribut Objekten zugeordnet. Aus diesen Metadaten ermittelt die Featureverbindung FeatureProvider-Typen. FeatureManager identifiziert die erforderliche Featureverbindung für jeden ermittelten Featureanbieter.
Zu den allgemeinen Implementierungen von Featureanbietern gehören Auswahladorner, Kontextmenüs und Eigenschaften-Editoren.
Zum Anfügen eines Featureanbieters an die primäre Auswahl auf der Entwurfsoberfläche leiten Sie von einem der Featureanbieter ab, wobei die PrimarySelectionPolicy angewendet wird, beispielsweise PrimarySelectionAdornerProvider oder
PrimarySelectionContextMenuProvider.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie von der FeatureProvider-Klasse abgeleitet wird, um einen benutzerdefinierten Featureanbieter mit dem Namen DiagnosticsMenuProvider einem benutzerdefinierten Dienst mit dem Namen IDiagnosticsService implementieren. Die vollständige Codeliste finden Sie unter Gewusst wie: Erstellen einer benutzerdefinierten Featureverbindung.
' 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();
}
}
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Siehe auch
Referenz
Microsoft.Windows.Design.Features-Namespace
FeatureConnector<TFeatureProviderType>
PrimarySelectionAdornerProvider
PrimarySelectionContextMenuProvider
Weitere Ressourcen
Gewusst wie: Erstellen einer benutzerdefinierten Featureverbindung