Sdílet prostřednictvím


WorkflowMenuCommands Třída

Definice

Upozornění

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

Definuje sadu polí, z nichž CommandID každé odpovídá funkci příkazu poskytnuté návrháři pracovních postupů. Tuto třídu nelze dědit.

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
Dědičnost
WorkflowMenuCommands
Atributy

Příklady

Následující příklad ukazuje, jak vytvořit vlastní MenuCommandService. V tomto příkladu se při zavolání vytvoří ShowContextMenu místní nabídka. GetSelectionMenuItems V metodě WorkflowMenuCommands se třída používá k přidružení správných příkazů nabídky poskytovaných návrhářem pracovního postupu s jejich odpovídajícím textem. Po dokončení se ke každému příkazu přidružuje obslužná rutina události, takže při výběru příkazu se vyvolá příslušná MenuCommand obslužná rutina události.

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

Chcete-li tuto službu povolit, zavolejte AddService metodu LoaderHost vlastnosti ve WorkflowDesignerLoader třídě, jak je znázorněno v následujícím příkladu.

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

Poznámky

Poznámka

V tomto materiálu jsou popsané zastaralé typy a obory názvů. Další informace naleznete v tématu Zastaralé typy ve Windows Workflow Foundation 4.5.

WorkflowMenuCommands obsahuje sadu CommandID polí, která lze použít k určení příkazu, který se má propojit při přidávání příkazu pomocí AddCommand metody IMenuCommandService.

Konstruktory

WorkflowMenuCommands()
Zastaralé.

Inicializuje novou instanci WorkflowMenuCommands třídy.

Pole

BreakpointActionMenu
Zastaralé.

Získá pro CommandID nabídku akce zarážky. Toto pole je jen ke čtení.

BreakpointConditionMenu
Zastaralé.

Získá pro CommandID nabídku podmínky zarážky. Toto pole je jen ke čtení.

BreakpointConstraintsMenu
Zastaralé.

Získá pro CommandID nabídku omezení zarážky. Toto pole je jen ke čtení.

BreakpointHitCountMenu
Zastaralé.

Získá pro CommandID zarážku počet přístupů nabídka. Toto pole je jen ke čtení.

BreakpointLocationMenu
Zastaralé.

Získá pro CommandID nabídku umístění zarážky. Toto pole je jen ke čtení.

ChangeTheme
Zastaralé.

Získá pro CommandID nabídku změnit motiv. Toto pole je jen ke čtení.

ClearBreakpointsMenu
Zastaralé.

A CommandID , která se dá použít pro přístup k nezaškrtnuté nabídce zarážek. Toto pole je jen ke čtení.

Collapse
Zastaralé.

A CommandID , která se dá použít pro přístup k sbalené nabídce. Toto pole je jen ke čtení.

CopyToClipboard
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce kopírování. Toto pole je jen ke čtení.

CreateTheme
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce vytvořit motiv. Toto pole je jen ke čtení.

DebugCommandSetId
Zastaralé.

Poskytuje jedinečný identifikátor sady příkazů ladění. Toto pole je jen ke čtení.

DebugStepBranchMenu
Zastaralé.

A CommandID , která se dá použít pro přístup k nabídce větve kroku ladění. Toto pole je jen ke čtení.

DebugStepInstanceMenu
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce instance kroku ladění. Toto pole je jen ke čtení.

DebugWorkflowGroupId
Zastaralé.

Poskytuje jedinečný identifikátor pro skupinu nabídek pracovního postupu ladění. Toto pole je jen ke čtení.

DefaultFilter
Zastaralé.

A CommandID , který lze použít pro přístup k výchozí nabídce filtru. Toto pole je jen ke čtení.

DefaultPage
Zastaralé.

A CommandID , který lze použít pro přístup k výchozí nabídce stránky. Toto pole je jen ke čtení.

DesignerActionsMenu
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce akcí návrháře. Toto pole je jen ke čtení.

DesignerProperties
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce vlastností návrháře. Toto pole je jen ke čtení.

Disable
Zastaralé.

A CommandID , která se dá použít pro přístup k nabídce zákazu. Toto pole je jen ke čtení.

Enable
Zastaralé.

A CommandID , která se dá použít pro přístup k nabídce povolení. Toto pole je jen ke čtení.

EnableBreakpointMenu
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce povolení zarážky. Toto pole je jen ke čtení.

ExecutionStateMenu
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce stavu spuštění. Toto pole je jen ke čtení.

Expand
Zastaralé.

A CommandID , který lze použít pro přístup k rozbalení nabídky. Toto pole je jen ke čtení.

FirstZoomCommand
Zastaralé.

A CommandID , která se dá použít pro přístup k první nabídce lupy. Toto pole je jen ke čtení.

GotoDisassemblyMenu
Zastaralé.

A CommandID , který lze použít pro přístup k goto disassembly menu. Toto pole je jen ke čtení.

InsertBreakpointMenu
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce vložení zarážky. Toto pole je jen ke čtení.

InsertTracePointMenu
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce vložit trasovací bod. Toto pole je jen ke čtení.

LastZoomCommand
Zastaralé.

A CommandID , která se dá použít pro přístup k poslední nabídce lupy. Toto pole je jen ke čtení.

MenuGuid
Zastaralé.

Poskytuje jedinečný identifikátor nabídky. Toto pole je jen ke čtení.

NewDataBreakpointMenu
Zastaralé.

A CommandID , která se dá použít pro přístup k nabídce nové datové zarážky. Toto pole je jen ke čtení.

NewFileTracePointMenu
Zastaralé.

A CommandID , který lze použít pro přístup k nové nabídce trasovacího bodu souboru. Toto pole je jen ke čtení.

PageDown
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce PageDown. Toto pole je jen ke čtení.

PageLayoutMenu
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce rozložení stránky. Toto pole je jen ke čtení.

PageSetup
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce nastavení stránky. Toto pole je jen ke čtení.

PageUp
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce PageUp. Toto pole je jen ke čtení.

Pan
Zastaralé.

A CommandID , která se dá použít pro přístup k nabídce posouvání. Toto pole je jen ke čtení.

PanMenu
Zastaralé.

A CommandID , která se dá použít pro přístup k nabídce posouvání. Toto pole je jen ke čtení.

Print
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce tisku. Toto pole je jen ke čtení.

PrintPreview
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce náhledu tisku. Toto pole je jen ke čtení.

PrintPreviewPage
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce stránky náhledu tisku. Toto pole je jen ke čtení.

RunToCursorMenu
Zastaralé.

A CommandID , která se dá použít pro přístup k nabídce spustit na kurzor. Toto pole je jen ke čtení.

SaveAsImage
Zastaralé.

A CommandID , která se dá použít pro přístup k nabídce Uložit jako obrázek. Toto pole je jen ke čtení.

SelectionMenu
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce výběru. Toto pole je jen ke čtení.

SetNextStatementMenu
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce nastavit další příkaz. Toto pole je jen ke čtení.

ShowAll
Zastaralé.

Slouží CommandID k přístupu k nabídce zobrazit vše. Toto pole je jen ke čtení.

ShowNextStatementMenu
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce zobrazit další příkaz. Toto pole je jen ke čtení.

ToggleBreakpointMenu
Zastaralé.

A CommandID , který lze použít pro přístup k přepínací nabídce zarážky. Toto pole je jen ke čtení.

VerbGroupActions
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce akcí skupiny sloves. Toto pole je jen ke čtení.

VerbGroupDesignerActions
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce akcí návrháře skupiny sloves. Toto pole je jen ke čtení.

VerbGroupEdit
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce upravit skupinu sloves. Toto pole je jen ke čtení.

VerbGroupGeneral
Zastaralé.

A CommandID , který lze použít pro přístup k obecné nabídce skupiny sloves. Toto pole je jen ke čtení.

VerbGroupMisc
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce různé skupiny sloves. Toto pole je jen ke čtení.

VerbGroupOptions
Zastaralé.

A CommandID , který se dá použít pro přístup k nabídce skupin sloves možností. Toto pole je jen ke čtení.

VerbGroupView
Zastaralé.

A CommandID , který lze použít pro přístup k zobrazení nabídky skupiny sloves. Toto pole je jen ke čtení.

WorkflowCommandSetId
Zastaralé.

Poskytuje jedinečný identifikátor sady příkazů pracovního postupu. Toto pole je jen ke čtení.

WorkflowToolBar
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce panelu nástrojů pracovního postupu. Toto pole je jen ke čtení.

Zoom100Mode
Zastaralé.

A CommandID , která se dá použít pro přístup k nabídce 100% zvětšení. Toto pole je jen ke čtení.

Zoom150Mode
Zastaralé.

Pro CommandID přístup k nabídce 150% zvětšení. Toto pole je jen ke čtení.

Zoom200Mode
Zastaralé.

Pro CommandID přístup k nabídce 200% zvětšení. Toto pole je jen ke čtení.

Zoom300Mode
Zastaralé.

Pro CommandID přístup k nabídce lupy 300% se dá použít . Toto pole je jen ke čtení.

Zoom400Mode
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce lupy 400%. Toto pole je jen ke čtení.

Zoom50Mode
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce lupy 50 %. Toto pole je jen ke čtení.

Zoom75Mode
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce lupy 75 %. Toto pole je jen ke čtení.

ZoomIn
Zastaralé.

A CommandID , která se dá použít pro přístup k nabídce přiblížení. Toto pole je jen ke čtení.

ZoomLevelCombo
Zastaralé.

A CommandID , který lze použít pro přístup k kombinované nabídce úrovně přiblížení. Toto pole je jen ke čtení.

ZoomLevelListHandler
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce obslužné rutiny seznamu úrovně přiblížení. Toto pole je jen ke čtení.

ZoomMenu
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce lupy. Toto pole je jen ke čtení.

ZoomOut
Zastaralé.

A CommandID , který lze použít pro přístup k nabídce oddálení. Toto pole je jen ke čtení.

Metody

Equals(Object)
Zastaralé.

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()
Zastaralé.

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()
Zastaralé.

Získá aktuální Type instanci.

(Zděděno od Object)
MemberwiseClone()
Zastaralé.

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()
Zastaralé.

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro