Condividi tramite


WorkflowMenuCommands Classe

Definizione

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à
WorkflowMenuCommands
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.

Print
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)

Si applica a