Freigeben über


WorkflowMenuCommands Klasse

Definition

Achtung

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

Definiert eine Reihe von CommandID-Feldern, von denen jedes einer Befehlsfunktion der Workflow-Designer entspricht. Diese Klasse kann nicht vererbt werden.

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
Vererbung
WorkflowMenuCommands
Attribute

Beispiele

Das folgende Beispiel veranschaulicht das Erstellen einer benutzerdefinierten MenuCommandService-Klasse. In diesem Beispiel wird ein Kontextmenü erstellt, wenn ShowContextMenu aufgerufen wird. In der GetSelectionMenuItems-Methode wird die WorkflowMenuCommands-Klasse verwendet, um die vom Workflow-Designer bereitgestellten Menübefehle dem entsprechenden Text zuzuordnen. Anschließend wird jedem Befehl ein Ereignishandler zugeordnet, damit bei der Auswahl des Befehls der entsprechende MenuCommand aufgerufen wird.

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

Rufen Sie zum Aktivieren dieses Dienstes wie im folgenden Beispiel dargestellt die AddService-Methode der LoaderHost-Eigenschaft in einer WorkflowDesignerLoader-Klasse auf.

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

Hinweise

Hinweis

In diesem Material werden veraltete Typen und Namespaces erläutert. Weitere Informationen finden Sie unter Veraltete Typen in Windows Workflow Foundation 4.5.

WorkflowMenuCommands enthält eine Reihe von CommandID-Feldern, die verwendet werden können, um beim Hinzufügen eines Befehls mit der AddCommand-Methode von IMenuCommandService einen zu verknüpfenden Befehl anzugeben.

Konstruktoren

WorkflowMenuCommands()
Veraltet.

Initialisiert eine neue Instanz der WorkflowMenuCommands-Klasse.

Felder

BreakpointActionMenu
Veraltet.

Ruft CommandID für das Haltepunkt-Aktionsmenü ab. Dieses Feld ist schreibgeschützt.

BreakpointConditionMenu
Veraltet.

Ruft CommandID für das Haltepunkt-Bedingungsmenü ab. Dieses Feld ist schreibgeschützt.

BreakpointConstraintsMenu
Veraltet.

Ruft CommandID für das Haltepunkt-Einschränkungsmenü ab. Dieses Feld ist schreibgeschützt.

BreakpointHitCountMenu
Veraltet.

Ruft CommandID für das Haltepunkt-Trefferanzahlmenü ab. Dieses Feld ist schreibgeschützt.

BreakpointLocationMenu
Veraltet.

Ruft CommandID für das Haltepunkt-Positionsmenü ab. Dieses Feld ist schreibgeschützt.

ChangeTheme
Veraltet.

Ruft CommandID für das Menü zum Ändern des Designs ab. Dieses Feld ist schreibgeschützt.

ClearBreakpointsMenu
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Löschen von Haltepunkten zuzugreifen. Dieses Feld ist schreibgeschützt.

Collapse
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Reduzieren zuzugreifen. Dieses Feld ist schreibgeschützt.

CopyToClipboard
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Kopieren zuzugreifen. Dieses Feld ist schreibgeschützt.

CreateTheme
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Erstellen von Designs zuzugreifen. Dieses Feld ist schreibgeschützt.

DebugCommandSetId
Veraltet.

Stellt einen eindeutigen Bezeichner für den Debugbefehlssatz bereit. Dieses Feld ist schreibgeschützt.

DebugStepBranchMenu
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Debuggen eines Branches zuzugreifen. Dieses Feld ist schreibgeschützt.

DebugStepInstanceMenu
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Debuggen einer Instanz zuzugreifen. Dieses Feld ist schreibgeschützt.

DebugWorkflowGroupId
Veraltet.

Stellt einen eindeutigen Bezeichner für die Menügruppe zum Debuggen von Workflows bereit. Dieses Feld ist schreibgeschützt.

DefaultFilter
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für den Standardfilter zuzugreifen. Dieses Feld ist schreibgeschützt.

DefaultPage
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für die Standardseite zuzugreifen. Dieses Feld ist schreibgeschützt.

DesignerActionsMenu
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für Designeraktionen zuzugreifen. Dieses Feld ist schreibgeschützt.

DesignerProperties
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für Designereigenschaften zuzugreifen. Dieses Feld ist schreibgeschützt.

Disable
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Deaktivieren zuzugreifen. Dieses Feld ist schreibgeschützt.

Enable
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Aktivieren zuzugreifen. Dieses Feld ist schreibgeschützt.

EnableBreakpointMenu
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Aktivieren von Haltepunkten zuzugreifen. Dieses Feld ist schreibgeschützt.

ExecutionStateMenu
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für den Ausführungsstatus zuzugreifen. Dieses Feld ist schreibgeschützt.

Expand
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Erweitern zuzugreifen. Dieses Feld ist schreibgeschützt.

FirstZoomCommand
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für den ersten Zoomfaktor zuzugreifen. Dieses Feld ist schreibgeschützt.

GotoDisassemblyMenu
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Anzeigen der Disassembly zuzugreifen. Dieses Feld ist schreibgeschützt.

InsertBreakpointMenu
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Einfügen von Haltepunkten zuzugreifen. Dieses Feld ist schreibgeschützt.

InsertTracePointMenu
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Einfügen von Ablaufverfolgungspunkten zuzugreifen. Dieses Feld ist schreibgeschützt.

LastZoomCommand
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für den vorherigen Zoomfaktor zuzugreifen. Dieses Feld ist schreibgeschützt.

MenuGuid
Veraltet.

Stellt einen eindeutigen Bezeichner für das Menü bzw. den Menübefehl bereit. Dieses Feld ist schreibgeschützt.

NewDataBreakpointMenu
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Einfügen eines neuen Datenhaltepunkts zuzugreifen. Dieses Feld ist schreibgeschützt.

NewFileTracePointMenu
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für einen neuen Ablaufverfolgungspunkt zuzugreifen. Dieses Feld ist schreibgeschützt.

PageDown
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für den Bildlauf nach unten zuzugreifen. Dieses Feld ist schreibgeschützt.

PageLayoutMenu
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für das Seitenlayout zuzugreifen. Dieses Feld ist schreibgeschützt.

PageSetup
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Einrichten der Seite zuzugreifen. Dieses Feld ist schreibgeschützt.

PageUp
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für den Bildlauf nach oben zuzugreifen. Dieses Feld ist schreibgeschützt.

Pan
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Schwenken zuzugreifen. Dieses Feld ist schreibgeschützt.

PanMenu
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Schwenken zuzugreifen. Dieses Feld ist schreibgeschützt.

Print
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Drucken zuzugreifen. Dieses Feld ist schreibgeschützt.

PrintPreview
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für die Seitenansicht zuzugreifen. Dieses Feld ist schreibgeschützt.

PrintPreviewPage
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für die Seitenvorschau zuzugreifen. Dieses Feld ist schreibgeschützt.

RunToCursorMenu
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Ausführen bis zur Cursorposition zuzugreifen. Dieses Feld ist schreibgeschützt.

SaveAsImage
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Speichern als Bild zuzugreifen. Dieses Feld ist schreibgeschützt.

SelectionMenu
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für die Auswahl zuzugreifen. Dieses Feld ist schreibgeschützt.

SetNextStatementMenu
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Festlegen der nächsten Anweisung zuzugreifen. Dieses Feld ist schreibgeschützt.

ShowAll
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Anzeigen aller Elemente zuzugreifen. Dieses Feld ist schreibgeschützt.

ShowNextStatementMenu
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Anzeigen der nächsten Anweisung zuzugreifen. Dieses Feld ist schreibgeschützt.

ToggleBreakpointMenu
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Ein-/Ausschalten von Haltepunkten zuzugreifen. Dieses Feld ist schreibgeschützt.

VerbGroupActions
Veraltet.

Eine CommandID, die verwendet werden kann, um auf das Verbgruppen-Aktionsmenü zuzugreifen. Dieses Feld ist schreibgeschützt.

VerbGroupDesignerActions
Veraltet.

Eine CommandID, die verwendet werden kann, um auf das Verbgruppen-Designeraktionsmenü zuzugreifen. Dieses Feld ist schreibgeschützt.

VerbGroupEdit
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für die Bearbeitungsverbgruppe zuzugreifen. Dieses Feld ist schreibgeschützt.

VerbGroupGeneral
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für die allgemeine Verbgruppe zuzugreifen. Dieses Feld ist schreibgeschützt.

VerbGroupMisc
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für die Gruppe verschiedener Verben zuzugreifen. Dieses Feld ist schreibgeschützt.

VerbGroupOptions
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für die Optionsverbgruppe zuzugreifen. Dieses Feld ist schreibgeschützt.

VerbGroupView
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für die Ansichtsverbgruppe zuzugreifen. Dieses Feld ist schreibgeschützt.

WorkflowCommandSetId
Veraltet.

Stellt einen eindeutigen Bezeichner für den Workflowbefehlssatz bereit. Dieses Feld ist schreibgeschützt.

WorkflowToolBar
Veraltet.

Eine CommandID, die verwendet werden kann, um auf das Workflowsymbolleisten-Menü zuzugreifen. Dieses Feld ist schreibgeschützt.

Zoom100Mode
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für den Zoomfaktor 100% zuzugreifen. Dieses Feld ist schreibgeschützt.

Zoom150Mode
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für den Zoomfaktor 150 % zuzugreifen. Dieses Feld ist schreibgeschützt.

Zoom200Mode
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für den Zoomfaktor 200 % zuzugreifen. Dieses Feld ist schreibgeschützt.

Zoom300Mode
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für den Zoomfaktor 300 % zuzugreifen. Dieses Feld ist schreibgeschützt.

Zoom400Mode
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für den Zoomfaktor 400 % zuzugreifen. Dieses Feld ist schreibgeschützt.

Zoom50Mode
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für den Zoomfaktor 50 % zuzugreifen. Dieses Feld ist schreibgeschützt.

Zoom75Mode
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für den Zoomfaktor 75% zuzugreifen. Dieses Feld ist schreibgeschützt.

ZoomIn
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Vergrößern zuzugreifen. Dieses Feld ist schreibgeschützt.

ZoomLevelCombo
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für das Zoomfaktor-Kombinationsfeld zuzugreifen. Dieses Feld ist schreibgeschützt.

ZoomLevelListHandler
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl für den Zoomfaktorlisten-Handler zuzugreifen. Dieses Feld ist schreibgeschützt.

ZoomMenu
Veraltet.

Eine CommandID, die verwendet werden kann, um auf das Zoomfaktormenü zuzugreifen. Dieses Feld ist schreibgeschützt.

ZoomOut
Veraltet.

Eine CommandID, die verwendet werden kann, um auf den Menübefehl zum Verkleinern zuzugreifen. Dieses Feld ist schreibgeschützt.

Methoden

Equals(Object)
Veraltet.

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()
Veraltet.

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()
Veraltet.

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()
Veraltet.

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()
Veraltet.

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für: