Classe MenuAction
Voce di menu di scelta rapida che rappresenta un'azione da eseguire nella finestra di progettazione.
Gerarchia di ereditarietà
System.Object
Microsoft.Windows.Design.Interaction.MenuBase
Microsoft.Windows.Design.Interaction.MenuAction
Spazio dei nomi: Microsoft.Windows.Design.Interaction
Assembly: Microsoft.Windows.Design.Interaction (in Microsoft.Windows.Design.Interaction.dll)
Sintassi
'Dichiarazione
Public Class MenuAction _
Inherits MenuBase
public class MenuAction : MenuBase
public ref class MenuAction : public MenuBase
type MenuAction =
class
inherit MenuBase
end
public class MenuAction extends MenuBase
Il tipo MenuAction espone i seguenti membri.
Costruttori
Nome | Descrizione | |
---|---|---|
MenuAction | Inizializza una nuova istanza della classe MenuAction. |
In alto
Proprietà
Nome | Descrizione | |
---|---|---|
Checkable | Ottiene o imposta un valore che indica se la voce di menu richiede un'interfaccia utente che visualizza una casella di controllo. | |
Checked | Ottiene o imposta un valore che indica se la voce di menu è selezionata. | |
Command | Ottiene il comando che rappresenta l'azione di menu. | |
Context | Ottiene il contesto di modifica corrente. (Ereditato da MenuBase) | |
DisplayName | Ottiene o imposta il testo localizzato da visualizzare per la voce di menu. (Ereditato da MenuBase) | |
Enabled | Ottiene o imposta un valore che indica se la voce dell'azione di menu è disponibile per l'utente. | |
ImageUri | Ottiene o imposta il percorso di un'immagine associata a MenuAction. | |
Name | Ottiene o imposta l'identificatore univoco per la voce di menu. (Ereditato da MenuBase) | |
Visible | Ottiene o imposta un valore che indica se l'elemento viene visualizzato nel menu. |
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) | |
OnPropertyChanged | Genera l'evento PropertyChanged. (Ereditato da MenuBase) | |
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
In alto
Eventi
Nome | Descrizione | |
---|---|---|
Execute | Si verifica quando la voce di menu viene eseguita. | |
PropertyChanged | Si verifica quando una proprietà è stata modificata. (Ereditato da MenuBase) |
In alto
Note
Utilizzare la classe MenuAction per definire una voce di menu di scelta rapida in WPF Designer.
Per visualizzare le voci di menu di scelta rapida, ereditare dalla classe ContextMenuProvider e creare elementi MenuAction e un oggetto MenuGroup associato. Questi oggetti del menu in genere vengono creati nel costruttore di una classe derivata dall'oggetto PrimarySelectionContextMenuProvider, che consente la visualizzazione del menu di scelta rapida nella selezione primaria.
Implementare la logica per l'oggetto MenuAction nel gestore eventi Execute.
La classe MenuAction è compatibile con il sistema di comandi WPF. Utilizzare la proprietà Command per richiamare l'oggetto MenuAction a livello di codice, anziché tramite l'interfaccia utente.
Esempi
Nell'esempio di codice seguente viene illustrato come configurare due elementi MenuAction che impostano la proprietà Background di un controllo in fase di progettazione. Per ulteriori informazioni, vedere Procedura dettagliata: creazione di un provider di menu.
Private setBackgroundToBlueMenuAction As MenuAction
Private clearBackgroundMenuAction As MenuAction
...
' The provider's constructor sets up the MenuAction objects
' and the the MenuGroup which holds them.
Public Sub New()
' Set up the MenuAction which sets the control's
' background to Blue.
setBackgroundToBlueMenuAction = New MenuAction("Blue")
setBackgroundToBlueMenuAction.Checkable = True
AddHandler setBackgroundToBlueMenuAction.Execute, AddressOf SetBackgroundToBlue_Execute
' Set up the MenuAction which sets the control's
' background to its default value.
clearBackgroundMenuAction = New MenuAction("Cleared")
clearBackgroundMenuAction.Checkable = True
AddHandler clearBackgroundMenuAction.Execute, AddressOf ClearBackground_Execute
' Set up the MenuGroup which holds the MenuAction items.
Dim backgroundFlyoutGroup As New MenuGroup("SetBackgroundsGroup", "Set Background")
' If HasDropDown is false, the group appears inline,
' instead of as a flyout. Set to true.
backgroundFlyoutGroup.HasDropDown = True
backgroundFlyoutGroup.Items.Add(setBackgroundToBlueMenuAction)
backgroundFlyoutGroup.Items.Add(clearBackgroundMenuAction)
Me.Items.Add(backgroundFlyoutGroup)
' The UpdateItemStatus event is raised immediately before
' this provider shows its tabs, which provides the opportunity
' to set states.
AddHandler UpdateItemStatus, AddressOf CustomContextMenuProvider_UpdateItemStatus
End Sub
private MenuAction setBackgroundToBlueMenuAction;
private MenuAction clearBackgroundMenuAction;
...
// The provider's constructor sets up the MenuAction objects
// and the the MenuGroup which holds them.
public CustomContextMenuProvider()
{
// Set up the MenuAction which sets the control's
// background to Blue.
setBackgroundToBlueMenuAction = new MenuAction("Blue");
setBackgroundToBlueMenuAction.Checkable = true;
setBackgroundToBlueMenuAction.Execute +=
new EventHandler<MenuActionEventArgs>(SetBackgroundToBlue_Execute);
// Set up the MenuAction which sets the control's
// background to its default value.
clearBackgroundMenuAction = new MenuAction("Cleared");
clearBackgroundMenuAction.Checkable = true;
clearBackgroundMenuAction.Execute +=
new EventHandler<MenuActionEventArgs>(ClearBackground_Execute);
// Set up the MenuGroup which holds the MenuAction items.
MenuGroup backgroundFlyoutGroup =
new MenuGroup("SetBackgroundsGroup", "Set Background");
// If HasDropDown is false, the group appears inline,
// instead of as a flyout. Set to true.
backgroundFlyoutGroup.HasDropDown = true;
backgroundFlyoutGroup.Items.Add(setBackgroundToBlueMenuAction);
backgroundFlyoutGroup.Items.Add(clearBackgroundMenuAction);
this.Items.Add(backgroundFlyoutGroup);
// The UpdateItemStatus event is raised immediately before
// this provider shows its tabs, which provides the opportunity
// to set states.
UpdateItemStatus +=
new EventHandler<MenuActionEventArgs>(
CustomContextMenuProvider_UpdateItemStatus);
}
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.Interaction
PrimarySelectionContextMenuProvider