WorkflowMenuCommands Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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. |
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) |