WorkflowMenuCommands Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cuidado
The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*
Define um conjunto de campos CommandID em que cada um corresponde a uma função de comando fornecida pelos designers de fluxo de trabalho. Essa classe não pode ser herdada.
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
- Herança
- Atributos
Exemplos
O exemplo a seguir demonstra como criar um personalizado MenuCommandService. Neste exemplo, um menu de contexto é criado quando o ShowContextMenu
é chamado. GetSelectionMenuItems
No método, a WorkflowMenuCommands classe é utilizada para associar os comandos de menu adequados fornecidos pelo designer de fluxo de trabalho ao texto correspondente. Quando isso é concluído, um manipulador de eventos é associado a cada comando para que, quando o comando for selecionado, o apropriado MenuCommand
seja invocado.
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
Para habilitar esse serviço, chame o AddService
método da LoaderHost propriedade em uma WorkflowDesignerLoader classe, conforme mostrado no exemplo a seguir.
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
Comentários
Observação
Este material discute tipos e namespaces obsoletos. Para obter mais informações, consulte Deprecated Types in Windows Workflow Foundation 4.5 (Tipos preteridos no Windows Workflow Foundation 4.5).
WorkflowMenuCommands contém um conjunto de CommandID campos que podem ser usados para especificar um comando a ser vinculado ao adicionar um comando usando o AddCommand método do IMenuCommandService.
Construtores
WorkflowMenuCommands() |
Inicializa uma nova instância da classe WorkflowMenuCommands. |
Campos
BreakpointActionMenu |
Obtém o CommandID para o menu de ação de ponto de interrupção. Este campo é somente leitura. |
BreakpointConditionMenu |
Obtém o CommandID para o menu de condição de ponto de interrupção. Este campo é somente leitura. |
BreakpointConstraintsMenu |
Obtém o CommandID para o menu de restrições de ponto de interrupção. Este campo é somente leitura. |
BreakpointHitCountMenu |
Obtém o CommandID para o menu de contagem de ocorrências de ponto de interrupção. Este campo é somente leitura. |
BreakpointLocationMenu |
Obtém o CommandID para o menu de localização de ocorrências de ponto de interrupção. Este campo é somente leitura. |
ChangeTheme |
Obtém o CommandID para o menu de tema de alteração. Este campo é somente leitura. |
ClearBreakpointsMenu |
Um CommandID que pode ser usado para acessar o menu de desmarcar os pontos de interrupção. Este campo é somente leitura. |
Collapse |
Um CommandID que pode ser usado para acessar o menu de recolhimento. Este campo é somente leitura. |
CopyToClipboard |
Um CommandID que pode ser usado para acessar o menu de cópia. Este campo é somente leitura. |
CreateTheme |
Um CommandID que pode ser usado para acessar o menu de criação de tema. Este campo é somente leitura. |
DebugCommandSetId |
Fornece um identificador exclusivo para o conjunto de comandos de depuração. Este campo é somente leitura. |
DebugStepBranchMenu |
Um CommandID que pode ser usado para acessar o menu de depuração do branch de etapa. Este campo é somente leitura. |
DebugStepInstanceMenu |
Um CommandID que pode ser usado para acessar o menu de depuração de instância de etapa. Este campo é somente leitura. |
DebugWorkflowGroupId |
Fornece um identificador exclusivo para o grupo de fluxo de trabalho de depuração dos menus. Este campo é somente leitura. |
DefaultFilter |
Um CommandID que pode ser usado para acessar o menu de filtro padrão. Este campo é somente leitura. |
DefaultPage |
Um CommandID que pode ser usado para acessar o menu de página padrão. Este campo é somente leitura. |
DesignerActionsMenu |
Um CommandID que pode ser usado para acessar o menu de ações do designer. Este campo é somente leitura. |
DesignerProperties |
Um CommandID que pode ser usado para acessar o menu de propriedades do designer. Este campo é somente leitura. |
Disable |
Um CommandID que pode ser usado para acessar o menu de desabilitação. Este campo é somente leitura. |
Enable |
Um CommandID que pode ser usado para acessar o menu de habilitação. Este campo é somente leitura. |
EnableBreakpointMenu |
Um CommandID que pode ser usado para acessar o menu de habilitação de ponto de interrupção. Este campo é somente leitura. |
ExecutionStateMenu |
Um CommandID que pode ser usado para acessar o menu de estado de execução. Este campo é somente leitura. |
Expand |
Um CommandID que pode ser usado para acessar o menu de expansão. Este campo é somente leitura. |
FirstZoomCommand |
Um CommandID que pode ser usado para acessar o menu de zoom primeiro. Este campo é somente leitura. |
GotoDisassemblyMenu |
Um CommandID que pode ser usado para acessar o menu de acesso à desmontagem. Este campo é somente leitura. |
InsertBreakpointMenu |
Um CommandID que pode ser usado para acessar o menu de inserção de ponto de interrupção. Este campo é somente leitura. |
InsertTracePointMenu |
Um CommandID que pode ser usado para acessar o menu de inserção de tracepoint. Este campo é somente leitura. |
LastZoomCommand |
Um CommandID que pode ser usado para acessar o menu de último zoom. Este campo é somente leitura. |
MenuGuid |
Fornece um identificador exclusivo para o menu. Este campo é somente leitura. |
NewDataBreakpointMenu |
Um CommandID que pode ser usado para acessar o menu de ponto de interrupção de dados novos. Este campo é somente leitura. |
NewFileTracePointMenu |
Um CommandID que pode ser usado para acessar o menu de tracepoint de arquivo novo. Este campo é somente leitura. |
PageDown |
Um CommandID que pode ser usado para acessar o menu PageDown. Este campo é somente leitura. |
PageLayoutMenu |
Um CommandID que pode ser usado para acessar o menu de layout da página. Este campo é somente leitura. |
PageSetup |
Um CommandID que pode ser usado para acessar o menu de configuração de página. Este campo é somente leitura. |
PageUp |
Um CommandID que pode ser usado para acessar o menu PageUp. Este campo é somente leitura. |
Pan |
Um CommandID que pode ser usado para acessar o menu de panorâmica. Este campo é somente leitura. |
PanMenu |
Um CommandID que pode ser usado para acessar o menu de panorâmica. Este campo é somente leitura. |
Um CommandID que pode ser usado para acessar o menu de impressão. Este campo é somente leitura. |
|
PrintPreview |
Um CommandID que pode ser usado para acessar o menu de visualização de impressão. Este campo é somente leitura. |
PrintPreviewPage |
Um CommandID que pode ser usado para acessar o menu de página de visualização de impressão. Este campo é somente leitura. |
RunToCursorMenu |
Um CommandID que pode ser usado para acessar o menu de execução até o cursor. Este campo é somente leitura. |
SaveAsImage |
Um CommandID que pode ser usado para acessar o menu de salvar como imagem. Este campo é somente leitura. |
SelectionMenu |
Um CommandID que pode ser usado para acessar o menu de seleção. Este campo é somente leitura. |
SetNextStatementMenu |
Um CommandID que pode ser usado para acessar o menu de definir a próxima instrução. Este campo é somente leitura. |
ShowAll |
Um CommandID que pode ser usado para acessar o menu de mostrar tudo. Este campo é somente leitura. |
ShowNextStatementMenu |
Um CommandID que pode ser usado para acessar o menu de mostrar próxima instrução. Este campo é somente leitura. |
ToggleBreakpointMenu |
Um CommandID que pode ser usado para acessar o menu de alternância de ponto de interrupção. Este campo é somente leitura. |
VerbGroupActions |
Um CommandID que pode ser usado para acessar o menu de ações de grupo de verbos. Este campo é somente leitura. |
VerbGroupDesignerActions |
Um CommandID que pode ser usado para acessar o menu de ações de designer de grupo de verbos. Este campo é somente leitura. |
VerbGroupEdit |
Um CommandID que pode ser usado para acessar o menu de edição do grupo de verbos. Este campo é somente leitura. |
VerbGroupGeneral |
Um CommandID que pode ser usado para acessar o menu do grupo de verbos geral. Este campo é somente leitura. |
VerbGroupMisc |
Um CommandID que pode ser usado para acessar o menu do grupo de verbos diversos. Este campo é somente leitura. |
VerbGroupOptions |
Um CommandID que pode ser usado para acessar o menu do grupo de verbos de opções. Este campo é somente leitura. |
VerbGroupView |
Um CommandID que pode ser usado para acessar o menu de exibição do grupo de verbos. Este campo é somente leitura. |
WorkflowCommandSetId |
Fornece um identificador exclusivo para o conjunto de comandos de fluxo de trabalho. Este campo é somente leitura. |
WorkflowToolBar |
Um CommandID que pode ser usado para acessar o menu da barra de ferramentas de fluxo de trabalho. Este campo é somente leitura. |
Zoom100Mode |
Um CommandID que pode ser usado para acessar o menu de 100% de zoom. Este campo é somente leitura. |
Zoom150Mode |
Um CommandID que pode ser usado para acessar o menu de 150% de zoom. Este campo é somente leitura. |
Zoom200Mode |
Um CommandID que pode ser usado para acessar o menu de 200% de zoom. Este campo é somente leitura. |
Zoom300Mode |
Um CommandID que pode ser usado para acessar o menu de 300% de zoom. Este campo é somente leitura. |
Zoom400Mode |
Um CommandID que pode ser usado para acessar o menu de 400% de zoom. Este campo é somente leitura. |
Zoom50Mode |
Um CommandID que pode ser usado para acessar o menu de 50% de zoom. Este campo é somente leitura. |
Zoom75Mode |
Um CommandID que pode ser usado para acessar o menu de 75% de zoom. Este campo é somente leitura. |
ZoomIn |
Um CommandID que pode ser usado para acessar o menu de ampliação. Este campo é somente leitura. |
ZoomLevelCombo |
Um CommandID que pode ser usado para acessar o menu de combinação de nível de zoom. Este campo é somente leitura. |
ZoomLevelListHandler |
Um CommandID que pode ser usado para acessar o menu de manipulação de lista de nível de zoom. Este campo é somente leitura. |
ZoomMenu |
Um CommandID que pode ser usado para acessar o menu de zoom. Este campo é somente leitura. |
ZoomOut |
Um CommandID que pode ser usado para acessar o menu de redução. Este campo é somente leitura. |
Métodos
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |