WorkflowMenuCommands Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Attenzione
The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*
Definisce un set di campi CommandID, ciascuno dei quali corrisponde alla funzione di un comando fornito dalle finestre di progettazione dei flussi di lavoro. La classe non può essere ereditata.
public ref class WorkflowMenuCommands sealed : System::ComponentModel::Design::StandardCommands
public sealed class WorkflowMenuCommands : System.ComponentModel.Design.StandardCommands
[System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")]
public sealed class WorkflowMenuCommands : System.ComponentModel.Design.StandardCommands
type WorkflowMenuCommands = class
inherit StandardCommands
[<System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")>]
type WorkflowMenuCommands = class
inherit StandardCommands
Public NotInheritable Class WorkflowMenuCommands
Inherits StandardCommands
- Ereditarietà
- Attributi
Esempio
Nell'esempio seguente viene illustrato come creare una classe MenuCommandService personalizzata. In questo esempio, un menu di scelta rapida viene creato quando si chiama ShowContextMenu
. Nel metodo GetSelectionMenuItems
, la classe WorkflowMenuCommands viene utilizzata per associare i comandi di menu corretti forniti dall'utilità di progettazione dei flussi di lavoro con il testo corrispondente. Al termine di questa operazione, il sistema associa un gestore eventi a ogni comando. In tal modo, ogni volta che si seleziona un comando, il sistema richiama il comando MenuCommand
appropriato.
internal sealed class WorkflowMenuCommandService : MenuCommandService
{
public WorkflowMenuCommandService(IServiceProvider serviceProvider)
: base(serviceProvider)
{
}
public override void ShowContextMenu(CommandID menuID, int x, int y)
{
if (menuID == WorkflowMenuCommands.SelectionMenu)
{
ContextMenu contextMenu = new ContextMenu();
foreach (DesignerVerb verb in Verbs)
{
MenuItem menuItem = new MenuItem(verb.Text, new EventHandler(OnMenuClicked));
menuItem.Tag = verb;
contextMenu.MenuItems.Add(menuItem);
}
MenuItem[] items = GetSelectionMenuItems();
if (items.Length > 0)
{
contextMenu.MenuItems.Add(new MenuItem("-"));
foreach (MenuItem item in items)
contextMenu.MenuItems.Add(item);
}
WorkflowView workflowView = GetService(typeof(WorkflowView)) as WorkflowView;
if (workflowView != null)
contextMenu.Show(workflowView, workflowView.PointToClient(new Point(x, y)));
}
}
private MenuItem[] GetSelectionMenuItems()
{
List<MenuItem> menuItems = new List<MenuItem>();
bool addMenuItems = true;
ISelectionService selectionService = GetService(typeof(ISelectionService)) as ISelectionService;
if (selectionService != null)
{
foreach (object obj in selectionService.GetSelectedComponents())
{
if (!(obj is Activity))
{
addMenuItems = false;
break;
}
}
}
if (addMenuItems)
{
Dictionary<CommandID, string> selectionCommands = new Dictionary<CommandID, string>();
selectionCommands.Add(WorkflowMenuCommands.Cut, "Cut");
selectionCommands.Add(WorkflowMenuCommands.Copy, "Copy");
selectionCommands.Add(WorkflowMenuCommands.Paste, "Paste");
selectionCommands.Add(WorkflowMenuCommands.Delete, "Delete");
selectionCommands.Add(WorkflowMenuCommands.Collapse, "Collapse");
selectionCommands.Add(WorkflowMenuCommands.Expand, "Expand");
selectionCommands.Add(WorkflowMenuCommands.Disable, "Disable");
selectionCommands.Add(WorkflowMenuCommands.Enable, "Enable");
foreach (CommandID id in selectionCommands.Keys)
{
MenuCommand command = FindCommand(id);
if (command != null)
{
MenuItem menuItem = new MenuItem(selectionCommands[id], new EventHandler(OnMenuClicked));
menuItem.Tag = command;
menuItems.Add(menuItem);
}
}
}
return menuItems.ToArray();
}
private void OnMenuClicked(object sender, EventArgs e)
{
MenuItem menuItem = sender as MenuItem;
if (menuItem != null && menuItem.Tag is MenuCommand)
{
MenuCommand command = menuItem.Tag as MenuCommand;
command.Invoke();
}
}
}
Friend NotInheritable Class WorkflowMenuCommandService
Inherits MenuCommandService
Public Sub New(ByVal serviceProvider As IServiceProvider)
MyBase.new(serviceProvider)
End Sub
Public Overrides Sub ShowContextMenu(ByVal menuID As CommandID, ByVal x As Integer, ByVal y As Integer)
If menuID.ID = WorkflowMenuCommands.SelectionMenu.ID Then
Dim contextMenu As New ContextMenu()
For Each verb As DesignerVerb In Verbs
Dim MenuItem As New MenuItem(verb.Text, AddressOf OnMenuClicked)
MenuItem.Tag = verb
contextMenu.MenuItems.Add(MenuItem)
Next
Dim items As MenuItem() = GetSelectionMenuItems()
If (items.Length > 0) Then
contextMenu.MenuItems.Add(New MenuItem("-"))
For Each item As MenuItem In items
contextMenu.MenuItems.Add(item)
Next
Dim workflowView As WorkflowView = CType(GetService(GetType(WorkflowView)), WorkflowView)
If workflowView Is Nothing Then
contextMenu.Show(workflowView, workflowView.PointToClient(New Point(x, y)))
End If
End If
End If
End Sub
Private Function GetSelectionMenuItems() As MenuItem()
Dim menuItems As New List(Of MenuItem)()
Dim addMenuItems As Boolean = True
Dim selectionService As ISelectionService = CType(GetService(GetType(ISelectionService)), ISelectionService)
If selectionService IsNot Nothing Then
For Each obj As Object In selectionService.GetSelectedComponents()
If Not TypeOf obj Is Activity Then
addMenuItems = False
Exit For
End If
Next
End If
If (addMenuItems) Then
Dim selectionCommands As New Dictionary(Of CommandID, String)()
selectionCommands.Add(WorkflowMenuCommands.Cut, "Cut")
selectionCommands.Add(WorkflowMenuCommands.Copy, "Copy")
selectionCommands.Add(WorkflowMenuCommands.Paste, "Paste")
selectionCommands.Add(WorkflowMenuCommands.Delete, "Delete")
selectionCommands.Add(WorkflowMenuCommands.Collapse, "Collapse")
selectionCommands.Add(WorkflowMenuCommands.Expand, "Expand")
selectionCommands.Add(WorkflowMenuCommands.Disable, "Disable")
selectionCommands.Add(WorkflowMenuCommands.Enable, "Enable")
For Each id As CommandID In selectionCommands.Keys
Dim command As MenuCommand = FindCommand(id)
If command IsNot Nothing Then
Dim menuItem As New MenuItem(selectionCommands(id), AddressOf OnMenuClicked)
menuItem.Tag = command
menuItems.Add(menuItem)
End If
Next
End If
Return menuItems.ToArray()
End Function
Private Sub OnMenuClicked(ByVal sender As Object, ByVal e As EventArgs)
Dim menuItem As MenuItem = CType(sender, MenuItem)
If menuItem IsNot Nothing And TypeOf menuItem.Tag Is MenuCommand Then
Dim command As MenuCommand = CType(menuItem.Tag, MenuCommand)
command.Invoke()
End If
End Sub
End Class
Per abilitare questo servizio, chiamare il metodo AddService
della proprietà LoaderHost in una classe WorkflowDesignerLoader, come mostrato nell'esempio seguente.
protected override void Initialize()
{
base.Initialize();
IDesignerLoaderHost host = this.LoaderHost;
if (host != null)
{
host.RemoveService(typeof(IIdentifierCreationService));
host.AddService(typeof(IIdentifierCreationService), new IdentifierCreationService(host));
host.AddService(typeof(IMenuCommandService), new WorkflowMenuCommandService(host));
host.AddService(typeof(IToolboxService), new Toolbox(host));
TypeProvider typeProvider = new TypeProvider(host);
typeProvider.AddAssemblyReference(typeof(string).Assembly.Location);
host.AddService(typeof(ITypeProvider), typeProvider, true);
host.AddService(typeof(IEventBindingService), new EventBindingService());
}
}
Protected Overrides Sub Initialize()
MyBase.Initialize()
Dim host As IDesignerLoaderHost = Me.LoaderHost
If host IsNot Nothing Then
host.RemoveService(GetType(IIdentifierCreationService))
host.AddService(GetType(IIdentifierCreationService), New IdentifierCreationService(host))
host.AddService(GetType(IMenuCommandService), New WorkflowMenuCommandService(host))
host.AddService(GetType(IToolboxService), New Toolbox(host))
Dim typeProvider As New TypeProvider(host)
typeProvider.AddAssemblyReference(GetType(String).Assembly.Location)
host.AddService(GetType(ITypeProvider), typeProvider, True)
host.AddService(GetType(IEventBindingService), New EventBindingService())
End If
End Sub
Commenti
Nota
In questo materiale vengono descritti tipi e spazi dei nomi obsoleti. Per altre informazioni, vedere Deprecated Types in Windows Workflow Foundation 4.5 (Tipi deprecati in Windows Workflow Foundation 4.5).
La classe WorkflowMenuCommands contiene un set di campi CommandID che consentono di specificare un comando da collegare al momento dell'aggiunta di un comando tramite il metodo AddCommand dell'interfaccia IMenuCommandService.
Costruttori
WorkflowMenuCommands() |
Obsoleti.
Inizializza una nuova istanza della classe WorkflowMenuCommands. |
Campi
BreakpointActionMenu |
Obsoleti.
Ottiene la classe CommandID per il menu di azione dei punti di interruzione. Questo campo è di sola lettura. |
BreakpointConditionMenu |
Obsoleti.
Ottiene la classe CommandID per il menu delle condizioni dei punti di interruzione. Questo campo è di sola lettura. |
BreakpointConstraintsMenu |
Obsoleti.
Ottiene la classe CommandID per il menu dei vincoli dei punti di interruzione. Questo campo è di sola lettura. |
BreakpointHitCountMenu |
Obsoleti.
Ottiene la classe CommandID per il menu dei passaggi dei punti di interruzione. Questo campo è di sola lettura. |
BreakpointLocationMenu |
Obsoleti.
Ottiene la classe CommandID per il menu della posizione dei punti di interruzione. Questo campo è di sola lettura. |
ChangeTheme |
Obsoleti.
Ottiene la classe CommandID per il menu di modifica del tema. Questo campo è di sola lettura. |
ClearBreakpointsMenu |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di cancellazione dei punti di interruzione. Questo campo è di sola lettura. |
Collapse |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu Comprimi. Questo campo è di sola lettura. |
CopyToClipboard |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di copia. Questo campo è di sola lettura. |
CreateTheme |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di creazione del tema. Questo campo è di sola lettura. |
DebugCommandSetId |
Obsoleti.
Fornisce un identificatore univoco per il set di comandi di debug. Questo campo è di sola lettura. |
DebugStepBranchMenu |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di creazione di un ramo del debugger. Questo campo è di sola lettura. |
DebugStepInstanceMenu |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di esecuzione di un'istanza del debugger. Questo campo è di sola lettura. |
DebugWorkflowGroupId |
Obsoleti.
Fornisce un identificatore univoco del gruppo di menu relativo al flusso di lavoro del debugger. Questo campo è di sola lettura. |
DefaultFilter |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu del filtro predefinito. Questo campo è di sola lettura. |
DefaultPage |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu della pagina predefinita. Questo campo è di sola lettura. |
DesignerActionsMenu |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu delle azioni della finestra di progettazione. Questo campo è di sola lettura. |
DesignerProperties |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu delle proprietà della finestra di progettazione. Questo campo è di sola lettura. |
Disable |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di disabilitazione. Questo campo è di sola lettura. |
Enable |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di abilitazione. Questo campo è di sola lettura. |
EnableBreakpointMenu |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di abilitare dei punti di interruzione. Questo campo è di sola lettura. |
ExecutionStateMenu |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu dello stato di esecuzione. Questo campo è di sola lettura. |
Expand |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu Espandi. Questo campo è di sola lettura. |
FirstZoomCommand |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu del primo livello di zoom. Questo campo è di sola lettura. |
GotoDisassemblyMenu |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu Vai a disassembly. Questo campo è di sola lettura. |
InsertBreakpointMenu |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di inserimento dei punti di interruzione. Questo campo è di sola lettura. |
InsertTracePointMenu |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di inserimento dei punti di analisi. Questo campo è di sola lettura. |
LastZoomCommand |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu dell'ultimo livello di zoom. Questo campo è di sola lettura. |
MenuGuid |
Obsoleti.
Fornisce un identificatore univoco per il menu. Questo campo è di sola lettura. |
NewDataBreakpointMenu |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di inserimento dei punti di interruzione dei nuovi dati. Questo campo è di sola lettura. |
NewFileTracePointMenu |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di inserimento dei punti di analisi in un nuovo file. Questo campo è di sola lettura. |
PageDown |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di passaggio alla pagina successiva. Questo campo è di sola lettura. |
PageLayoutMenu |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu Layout di pagina. Questo campo è di sola lettura. |
PageSetup |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu Imposta pagina. Questo campo è di sola lettura. |
PageUp |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di passaggio alla pagina precedente. Questo campo è di sola lettura. |
Pan |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di panoramica. Questo campo è di sola lettura. |
PanMenu |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di panoramica. Questo campo è di sola lettura. |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu Stampa. Questo campo è di sola lettura. |
|
PrintPreview |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu Anteprima di stampa. Questo campo è di sola lettura. |
PrintPreviewPage |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu della pagina dell'anteprima di stampa. Questo campo è di sola lettura. |
RunToCursorMenu |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di passaggio al cursore. Questo campo è di sola lettura. |
SaveAsImage |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu Salva come immagine. Questo campo è di sola lettura. |
SelectionMenu |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di selezione. Questo campo è di sola lettura. |
SetNextStatementMenu |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di impostazione dell'istruzione successiva. Questo campo è di sola lettura. |
ShowAll |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu Mostra tutto. Questo campo è di sola lettura. |
ShowNextStatementMenu |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere menu Mostra istruzione successiva. Questo campo è di sola lettura. |
ToggleBreakpointMenu |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di abilitazione e disabilitazione dei punti di interruzione. Questo campo è di sola lettura. |
VerbGroupActions |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu delle azioni del gruppo di verbi. Questo campo è di sola lettura. |
VerbGroupDesignerActions |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu delle azioni delle finestre di progettazione per gruppo di verbi. Questo campo è di sola lettura. |
VerbGroupEdit |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di modifica del gruppo di verbi. Questo campo è di sola lettura. |
VerbGroupGeneral |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu del gruppo generale di verbi. Questo campo è di sola lettura. |
VerbGroupMisc |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu del gruppo vario di verbi. Questo campo è di sola lettura. |
VerbGroupOptions |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu del gruppo di opzioni dei verbi. Questo campo è di sola lettura. |
VerbGroupView |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di visualizzazione del gruppo di verbi. Questo campo è di sola lettura. |
WorkflowCommandSetId |
Obsoleti.
Fornisce un identificatore univoco per il set di comandi del flusso di lavoro. Questo campo è di sola lettura. |
WorkflowToolBar |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu della barra degli strumenti del flusso di lavoro. Questo campo è di sola lettura. |
Zoom100Mode |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu Zoom 100%. Questo campo è di sola lettura. |
Zoom150Mode |
Obsoleti.
Oggetto CommandID che può essere usato per accedere al menu Zoom 150%. Questo campo è di sola lettura. |
Zoom200Mode |
Obsoleti.
Oggetto CommandID che può essere usato per accedere al menu Zoom 200%. Questo campo è di sola lettura. |
Zoom300Mode |
Obsoleti.
Oggetto CommandID che può essere usato per accedere al menu Zoom 300%. Questo campo è di sola lettura. |
Zoom400Mode |
Obsoleti.
Oggetto CommandID che può essere usato per accedere al menu Zoom 400%. Questo campo è di sola lettura. |
Zoom50Mode |
Obsoleti.
Oggetto CommandID che può essere usato per accedere al menu Zoom 50%. Questo campo è di sola lettura. |
Zoom75Mode |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu Zoom 75%. Questo campo è di sola lettura. |
ZoomIn |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di zoom avanti. Questo campo è di sola lettura. |
ZoomLevelCombo |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu dei livelli di zoom. Questo campo è di sola lettura. |
ZoomLevelListHandler |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu del gestore dell'elenco dei livelli di zoom. Questo campo è di sola lettura. |
ZoomMenu |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di zoom. Questo campo è di sola lettura. |
ZoomOut |
Obsoleti.
Oggetto CommandID che può essere utilizzato per accedere al menu di zoom indietro. Questo campo è di sola lettura. |
Metodi
Equals(Object) |
Obsoleti.
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Obsoleti.
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Obsoleti.
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Obsoleti.
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Obsoleti.
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |