Share via


WorkflowMenuCommands Classe

Définition

Attention

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

Définit un ensemble de champs CommandID dont chacun correspond à une fonction fournie par les concepteurs de workflow. Cette classe ne peut pas être héritée.

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
Héritage
WorkflowMenuCommands
Attributs

Exemples

L'exemple suivant montre comment créer un MenuCommandService personnalisé. Dans cet exemple, un menu contextuel est créé lorsque le ShowContextMenu est appelé. Dans la méthode GetSelectionMenuItems, la classe WorkflowMenuCommands est utilisée pour associer les commandes de menu appropriées fournies par le concepteur de workflow au texte correspondant. Un gestionnaire d'événements est ensuite associé à chaque commande afin que le MenuCommand approprié soit appelé lorsqu'une commande est sélectionnée.

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

Pour activer ce service, appelez la méthode AddService de la propriété LoaderHost dans une classe WorkflowDesignerLoader comme illustré dans l'exemple suivant.

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

Remarques

Notes

Ce document décrit les types et les espaces de noms qui sont obsolètes. Pour plus d’informations, consultez Types dépréciés dans Windows Workflow Foundation 4.5.

WorkflowMenuCommands contient un ensemble de champs CommandID qui peuvent être utilisés pour spécifier une commande à lier lors de l'ajout d'une commande au moyen de la méthode AddCommand du IMenuCommandService.

Constructeurs

WorkflowMenuCommands()

Initialise une nouvelle instance de la classe WorkflowMenuCommands.

Champs

BreakpointActionMenu

Obtient le CommandID pour le menu relatif aux actions de point d'arrêt. Ce champ est en lecture seule.

BreakpointConditionMenu

Obtient le CommandID pour le menu Condition de point d'arrêt. Ce champ est en lecture seule.

BreakpointConstraintsMenu

Obtient le CommandID pour le menu relatif aux contraintes de point d'arrêt. Ce champ est en lecture seule.

BreakpointHitCountMenu

Obtient le CommandID pour le menu Nombre d'accès à un point d'arrêt. Ce champ est en lecture seule.

BreakpointLocationMenu

Obtient le CommandID pour le menu Emplacement du point d'arrêt. Ce champ est en lecture seule.

ChangeTheme

Obtient le CommandID pour le menu permettant de modifier le thème. Ce champ est en lecture seule.

ClearBreakpointsMenu

CommandID qui peut être utilisé pour accéder au menu permettant d'effacer les points d'arrêt. Ce champ est en lecture seule.

Collapse

CommandID qui peut être utilisé pour accéder au menu Réduire. Ce champ est en lecture seule.

CopyToClipboard

CommandID qui peut être utilisé pour accéder au menu Copier. Ce champ est en lecture seule.

CreateTheme

CommandID qui peut être utilisé pour accéder au menu permettant de créer un thème. Ce champ est en lecture seule.

DebugCommandSetId

Fournit un identificateur unique pour l'ensemble de commandes de débogage. Ce champ est en lecture seule.

DebugStepBranchMenu

CommandID qui peut être utilisé pour accéder au menu permettant d’accéder à une branche particulière en vue de son débogage. Ce champ est en lecture seule.

DebugStepInstanceMenu

CommandID qui peut être utilisé pour accéder au menu permettant d'accéder à une instance particulière en vue de son débogage. Ce champ est en lecture seule.

DebugWorkflowGroupId

Fournit un identificateur unique pour le groupe de menus permettant de déboguer un workflow. Ce champ est en lecture seule.

DefaultFilter

CommandID qui peut être utilisé pour accéder au menu relatif au filtre par défaut. Ce champ est en lecture seule.

DefaultPage

CommandID qui peut être utilisé pour accéder au menu relatif à la page par défaut. Ce champ est en lecture seule.

DesignerActionsMenu

CommandID qui peut être utilisé pour accéder au menu Actions du concepteur. Ce champ est en lecture seule.

DesignerProperties

CommandID qui peut être utilisé pour accéder au menu relatif aux propriétés du concepteur. Ce champ est en lecture seule.

Disable

CommandID qui peut être utilisé pour accéder au menu Désactiver. Ce champ est en lecture seule.

Enable

CommandID qui peut être utilisé pour accéder au menu Activer. Ce champ est en lecture seule.

EnableBreakpointMenu

CommandID qui peut être utilisé pour accéder au menu Activer le point d'arrêt. Ce champ est en lecture seule.

ExecutionStateMenu

CommandID qui peut être utilisé pour accéder au menu relatif au statut de l'exécution. Ce champ est en lecture seule.

Expand

CommandID qui peut être utilisé pour accéder au menu Développer. Ce champ est en lecture seule.

FirstZoomCommand

CommandID qui peut être utilisé pour accéder au menu relatif au premier niveau de zoom. Ce champ est en lecture seule.

GotoDisassemblyMenu

CommandID qui peut être utilisé pour accéder au menu permettant d'accéder au code machine. Ce champ est en lecture seule.

InsertBreakpointMenu

CommandID qui peut être utilisé pour accéder au menu Insérer un point d'arrêt. Ce champ est en lecture seule.

InsertTracePointMenu

CommandID qui peut être utilisé pour accéder au menu Insérer un point de suivi. Ce champ est en lecture seule.

LastZoomCommand

CommandID qui peut être utilisé pour accéder au menu relatif au dernier niveau de zoom. Ce champ est en lecture seule.

MenuGuid

Fournit un identificateur unique pour le menu. Ce champ est en lecture seule.

NewDataBreakpointMenu

CommandID qui peut être utilisé pour accéder au menu Nouveau point d'arrêt sur variable. Ce champ est en lecture seule.

NewFileTracePointMenu

CommandID qui peut être utilisé pour accéder au menu relatif à un nouveau point de suivi de fichier. Ce champ est en lecture seule.

PageDown

CommandID qui peut être utilisé pour accéder au menu Page suivante. Ce champ est en lecture seule.

PageLayoutMenu

CommandID qui peut être utilisé pour accéder au menu Présentation page. Ce champ est en lecture seule.

PageSetup

CommandID qui peut être utilisé pour accéder au menu Mise de page. Ce champ est en lecture seule.

PageUp

CommandID qui peut être utilisé pour accéder au menu Page précédente. Ce champ est en lecture seule.

Pan

CommandID qui peut être utilisé pour accéder au menu Panoramique. Ce champ est en lecture seule.

PanMenu

CommandID qui peut être utilisé pour accéder au menu Panoramique. Ce champ est en lecture seule.

Print

CommandID qui peut être utilisé pour accéder au menu Imprimer. Ce champ est en lecture seule.

PrintPreview

CommandID qui peut être utilisé pour accéder au menu Aperçu avant impression. Ce champ est en lecture seule.

PrintPreviewPage

CommandID qui peut être utilisé pour accéder au menu relatif aux pages de l'aperçu avant impression. Ce champ est en lecture seule.

RunToCursorMenu

CommandID qui peut être utilisé pour accéder au menu Exécuter jusqu'au curseur. Ce champ est en lecture seule.

SaveAsImage

CommandID qui peut être utilisé pour accéder au menu Enregistrer en tant qu'image. Ce champ est en lecture seule.

SelectionMenu

CommandID pouvant être utilisé pour accéder au menu Sélection. Ce champ est en lecture seule.

SetNextStatementMenu

CommandID qui peut être utilisé pour accéder au menu Définir l'instruction suivante. Ce champ est en lecture seule.

ShowAll

CommandID qui peut être utilisé pour accéder au menu Afficher tout. Ce champ est en lecture seule.

ShowNextStatementMenu

CommandID qui peut être utilisé pour accéder au menu Afficher l'instruction suivante. Ce champ est en lecture seule.

ToggleBreakpointMenu

CommandID qui peut être utilisé pour accéder au menu Basculer le point d'arrêt. Ce champ est en lecture seule.

VerbGroupActions

CommandID qui peut être utilisé pour accéder au menu relatif aux actions par groupe de verbes. Ce champ est en lecture seule.

VerbGroupDesignerActions

CommandID qui peut être utilisé pour accéder au menu relatif aux actions du concepteur par groupe de verbes. Ce champ est en lecture seule.

VerbGroupEdit

CommandID qui peut être utilisé pour accéder au menu relatif au groupe de verbes édition. Ce champ est en lecture seule.

VerbGroupGeneral

CommandID qui peut être utilisé pour accéder au menu relatif au groupe de verbes général. Ce champ est en lecture seule.

VerbGroupMisc

CommandID qui peut être utilisé pour accéder au menu relatif au groupe de verbes divers. Ce champ est en lecture seule.

VerbGroupOptions

CommandID qui peut être utilisé pour accéder au menu relatif au groupe de verbes options. Ce champ est en lecture seule.

VerbGroupView

CommandID qui peut être utilisé pour accéder au menu relatif au groupe de verbes affichage. Ce champ est en lecture seule.

WorkflowCommandSetId

Fournit un identificateur unique pour l'ensemble de commandes du workflow. Ce champ est en lecture seule.

WorkflowToolBar

CommandID qui peut être utilisé pour accéder au menu relatif à la barre d'outils de workflow. Ce champ est en lecture seule.

Zoom100Mode

CommandID qui peut être utilisé pour accéder au menu Zoom 100 %. Ce champ est en lecture seule.

Zoom150Mode

CommandID qui peut être utilisé pour accéder au menu Zoom 150 %. Ce champ est en lecture seule.

Zoom200Mode

CommandID qui peut être utilisé pour accéder au menu Zoom 200 %. Ce champ est en lecture seule.

Zoom300Mode

CommandID qui peut être utilisé pour accéder au menu Zoom 300 %. Ce champ est en lecture seule.

Zoom400Mode

CommandID qui peut être utilisé pour accéder au menu Zoom 400 %. Ce champ est en lecture seule.

Zoom50Mode

CommandID qui peut être utilisé pour accéder au menu Zoom 50 %. Ce champ est en lecture seule.

Zoom75Mode

CommandID qui peut être utilisé pour accéder au menu Zoom 75 %. Ce champ est en lecture seule.

ZoomIn

CommandID qui peut être utilisé pour accéder au menu Zoom avant. Ce champ est en lecture seule.

ZoomLevelCombo

CommandID qui peut être utilisé pour accéder au menu Niveau de zoom. Ce champ est en lecture seule.

ZoomLevelListHandler

CommandID qui peut être utilisé pour accéder au menu relatif au gestionnaire de listes de niveaux de zoom. Ce champ est en lecture seule.

ZoomMenu

CommandID qui peut être utilisé pour accéder au menu Zoom. Ce champ est en lecture seule.

ZoomOut

CommandID qui peut être utilisé pour accéder au menu Zoom arrière. Ce champ est en lecture seule.

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à