Classe FeatureProvider
Aggiunge un contributo specifico della classe a una funzionalità.
Gerarchia di ereditarietà
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
Spazio dei nomi: Microsoft.Windows.Design.Features
Assembly: Microsoft.Windows.Design.Extensibility (in Microsoft.Windows.Design.Extensibility.dll)
Sintassi
'Dichiarazione
Public MustInherit Class FeatureProvider
public abstract class FeatureProvider
public ref class FeatureProvider abstract
[<AbstractClass>]
type FeatureProvider = class end
public abstract class FeatureProvider
Il tipo FeatureProvider espone i seguenti membri.
Costruttori
Nome | Descrizione | |
---|---|---|
FeatureProvider | Inizializza una nuova istanza della classe FeatureProvider. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
Equals | Determina se l'oggetto Object specificato è uguale all'oggetto Object corrente. (Ereditato da Object) | |
Finalize | Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object) | |
GetHashCode | Funge da funzione hash per un determinato tipo. (Ereditato da Object) | |
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) | |
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) | |
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
In alto
Note
Derivare dalla classe FeatureProvider astratta per estendere la fase di progettazione per i controlli personalizzati.
I provider di funzionalità sono gestiti dai connettori di funzionalità e sono associati agli oggetti tramite l'attributo dei metadati FeatureAttribute. Il connettore di funzionalità individua i tipi FeatureProvider da questi metadati. FeatureManager identifica il connettore di funzionalità richiesto per ciascun provider di funzionalità scoperto.
Le implementazioni comuni dei provider di funzionalità includono strumenti decorativi di selezione, menu di scelta rapida e editor di proprietà.
Per connettere un provider di funzionalità alla selezione primaria nell'area di progettazione, derivare da uno dei provider di funzionalità con l'oggetto PrimarySelectionPolicy, ad esempio PrimarySelectionAdornerProvider o
PrimarySelectionContextMenuProvider.
Esempi
Nell'esempio di codice seguente viene illustrato come derivare dalla classe FeatureProvider per implementare un provider di funzionalità personalizzato denominato DiagnosticsMenuProvider a un servizio personalizzato denominato IDiagnosticsService. Per l'elenco di codice completo, vedere Procedura: creare un connettore di funzionalità personalizzato.
' 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();
}
}
Codice thread safe
Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Vedere anche
Riferimenti
Spazio dei nomi Microsoft.Windows.Design.Features
FeatureConnector<TFeatureProviderType>
PrimarySelectionAdornerProvider
PrimarySelectionContextMenuProvider
Altre risorse
Procedura: creare un connettore di funzionalità personalizzato