Share via


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
Geschützte Methode FeatureProvider Initialisiert eine neue Instanz der FeatureProvider-Klasse.

Zum Seitenanfang

Methoden

  Name Beschreibung
Öffentliche Methode Equals Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.)
Geschützte Methode 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.)
Öffentliche Methode GetHashCode Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.)
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte Methode MemberwiseClone Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche Methode 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>

FeatureManager

PrimarySelectionAdornerProvider

PrimarySelectionContextMenuProvider

Weitere Ressourcen

Gewusst wie: Erstellen einer benutzerdefinierten Featureverbindung

Featureanbieter und Featureverbindungen

WPF-Designer-Erweiterbarkeit