WorkflowMenuCommands Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- 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í. |
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) |