WorkflowMenuCommands Class

Definition

Caution

The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*

Defines a set of CommandID fields that each corresponds to a command function provided by the workflow designers. This class cannot be inherited.

C#
public sealed class WorkflowMenuCommands : System.ComponentModel.Design.StandardCommands
C#
[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
Inheritance
WorkflowMenuCommands
Attributes

Examples

The following example demonstrates how to create a custom MenuCommandService. In this example, a context menu is created when the ShowContextMenu is called. In the GetSelectionMenuItems method, the WorkflowMenuCommands class is utilized to associate the proper menu commands provided by the workflow designer with their corresponding text. When this is finished, an event handler is associated with each command so that when the command is selected, the appropriate MenuCommand is invoked.

C#
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();
        }
    }
}

To enable this service, call the AddService method of the LoaderHost property in a WorkflowDesignerLoader class as shown in the following example.

C#
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());
    }
}

Remarks

Note

This material discusses types and namespaces that are obsolete. For more information, see Deprecated Types in Windows Workflow Foundation 4.5.

WorkflowMenuCommands contains a set of CommandID fields that can be used to specify a command to link when adding a command using the AddCommand method of the IMenuCommandService.

Constructors

WorkflowMenuCommands()

Initializes a new instance of the WorkflowMenuCommands class.

Fields

BreakpointActionMenu

Gets the CommandID for the breakpoint action menu. This field is read-only.

BreakpointConditionMenu

Gets the CommandID for the breakpoint condition menu. This field is read-only.

BreakpointConstraintsMenu

Gets the CommandID for the breakpoint constraints menu. This field is read-only.

BreakpointHitCountMenu

Gets the CommandID for the breakpoint hit count menu. This field is read-only.

BreakpointLocationMenu

Gets the CommandID for the breakpoint location menu. This field is read-only.

ChangeTheme

Gets the CommandID for the change theme menu. This field is read-only.

ClearBreakpointsMenu

A CommandID that can be used to access the clear breakpoints menu. This field is read-only.

Collapse

A CommandID that can be used to access the collapse menu. This field is read-only.

CopyToClipboard

A CommandID that can be used to access the copy menu. This field is read-only.

CreateTheme

A CommandID that can be used to access the create theme menu. This field is read-only.

DebugCommandSetId

Provides a unique identifier for the debug command set. This field is read-only.

DebugStepBranchMenu

A CommandID that can be used to access the debug step branch menu. This field is read-only.

DebugStepInstanceMenu

A CommandID that can be used to access the debug step instance menu. This field is read-only.

DebugWorkflowGroupId

Provides a unique identifier for the debug workflow group of menus. This field is read-only.

DefaultFilter

A CommandID that can be used to access the default filter menu. This field is read-only.

DefaultPage

A CommandID that can be used to access the default page menu. This field is read-only.

DesignerActionsMenu

A CommandID that can be used to access the designer actions menu. This field is read-only.

DesignerProperties

A CommandID that can be used to access the designer properties menu. This field is read-only.

Disable

A CommandID that can be used to access the disable menu. This field is read-only.

Enable

A CommandID that can be used to access the enable menu. This field is read-only.

EnableBreakpointMenu

A CommandID that can be used to access the enable breakpoint menu. This field is read-only.

ExecutionStateMenu

A CommandID that can be used to access the execution state menu. This field is read-only.

Expand

A CommandID that can be used to access the expand menu. This field is read-only.

FirstZoomCommand

A CommandID that can be used to access the zoom first menu. This field is read-only.

GotoDisassemblyMenu

A CommandID that can be used to access the goto disassembly menu. This field is read-only.

InsertBreakpointMenu

A CommandID that can be used to access the insert breakpoint menu. This field is read-only.

InsertTracePointMenu

A CommandID that can be used to access the insert tracepoint menu. This field is read-only.

LastZoomCommand

A CommandID that can be used to access the zoom last menu. This field is read-only.

MenuGuid

Provides a unique identifier for the menu. This field is read-only.

NewDataBreakpointMenu

A CommandID that can be used to access the new data breakpoint menu. This field is read-only.

NewFileTracePointMenu

A CommandID that can be used to access the new file tracepoint menu. This field is read-only.

PageDown

A CommandID that can be used to access the PageDown menu. This field is read-only.

PageLayoutMenu

A CommandID that can be used to access the page layout menu. This field is read-only.

PageSetup

A CommandID that can be used to access the page setup menu. This field is read-only.

PageUp

A CommandID that can be used to access the PageUp menu. This field is read-only.

Pan

A CommandID that can be used to access the pan menu. This field is read-only.

PanMenu

A CommandID that can be used to access the pan menu. This field is read-only.

Print

A CommandID that can be used to access the print menu. This field is read-only.

PrintPreview

A CommandID that can be used to access the print preview menu. This field is read-only.

PrintPreviewPage

A CommandID that can be used to access the print preview page menu. This field is read-only.

RunToCursorMenu

A CommandID that can be used to access the run to cursor menu. This field is read-only.

SaveAsImage

A CommandID that can be used to access the save as image menu. This field is read-only.

SelectionMenu

A CommandID that can be used to access the selection menu. This field is read-only.

SetNextStatementMenu

A CommandID that can be used to access the set next statement menu. This field is read-only.

ShowAll

A CommandID that can be used to access the show all menu. This field is read-only.

ShowNextStatementMenu

A CommandID that can be used to access the show next statement menu. This field is read-only.

ToggleBreakpointMenu

A CommandID that can be used to access the toggle breakpoint menu. This field is read-only.

VerbGroupActions

A CommandID that can be used to access the verb group actions menu. This field is read-only.

VerbGroupDesignerActions

A CommandID that can be used to access the verb group designer actions menu. This field is read-only.

VerbGroupEdit

A CommandID that can be used to access the edit verb group menu. This field is read-only.

VerbGroupGeneral

A CommandID that can be used to access the general verb group menu. This field is read-only.

VerbGroupMisc

A CommandID that can be used to access the miscellaneous verb group menu. This field is read-only.

VerbGroupOptions

A CommandID that can be used to access the options verb group menu. This field is read-only.

VerbGroupView

A CommandID that can be used to access the view verb group menu. This field is read-only.

WorkflowCommandSetId

Provides a unique identifier for the workflow command set. This field is read-only.

WorkflowToolBar

A CommandID that can be used to access the workflow toolbar menu. This field is read-only.

Zoom100Mode

A CommandID that can be used to access the zoom 100% menu. This field is read-only.

Zoom150Mode

A CommandID that can be used to access the zoom 150% menu. This field is read-only.

Zoom200Mode

A CommandID that can be used to access the zoom 200% menu. This field is read-only.

Zoom300Mode

A CommandID that can be used to access the zoom 300% menu. This field is read-only.

Zoom400Mode

A CommandID that can be used to access the zoom 400% menu. This field is read-only.

Zoom50Mode

A CommandID that can be used to access the zoom 50% menu. This field is read-only.

Zoom75Mode

A CommandID that can be used to access the zoom 75% menu. This field is read-only.

ZoomIn

A CommandID that can be used to access the zoom in menu. This field is read-only.

ZoomLevelCombo

A CommandID that can be used to access the zoom level combo menu. This field is read-only.

ZoomLevelListHandler

A CommandID that can be used to access the zoom level list handler menu. This field is read-only.

ZoomMenu

A CommandID that can be used to access the zoom menu. This field is read-only.

ZoomOut

A CommandID that can be used to access the zoom out menu. This field is read-only.

Methods

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)

Applies to

Produit Versions (Obsolète)
.NET Framework 3.0, 3.5, 4.0 (4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1)