WorkflowMenuCommands クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
注意事項
The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*
ワークフロー デザイナーによって提供されたコマンド関数に対応する各 CommandID フィールドのセットを定義します。 このクラスは継承できません。
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
- 継承
- 属性
例
カスタム MenuCommandService を作成する方法を次の例に示します。 この例では、ShowContextMenu
が呼び出されると、コンテキスト メニューが作成されます。
GetSelectionMenuItems
メソッドでは、WorkflowMenuCommands クラスを使用して、ワークフロー デザイナーによって提供された適切なメニュー コマンドが、それぞれの対応するテキストに関連付けられます。 これが完了すると、イベント ハンドラーが各コマンドに関連付けられ、コマンドが選択されるときに該当する MenuCommand
が呼び出されるようになります。
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
このサービスを有効にするには、AddService
クラスの LoaderHost プロパティの WorkflowDesignerLoader メソッドを呼び出します。次に例を示します。
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
注釈
注意
ここでは、廃止された型と名前空間について説明します。 詳細については、「.NET 4.5 での Windows Workflow Foundation の新機能」を参照してください。
WorkflowMenuCommands は、CommandID の AddCommand メソッドを使用してコマンドを追加するときに、リンクするコマンドの指定に使用できる IMenuCommandService フィールドのセットを格納しています。
コンストラクター
WorkflowMenuCommands() |
古い.
WorkflowMenuCommands クラスの新しいインスタンスを初期化します。 |
フィールド
BreakpointActionMenu |
古い.
ブレークポイント アクション メニューの CommandID を取得します。 このフィールドは読み取り専用です。 |
BreakpointConditionMenu |
古い.
ブレークポイント条件メニューの CommandID を取得します。 このフィールドは読み取り専用です。 |
BreakpointConstraintsMenu |
古い.
ブレークポイント制約メニューの CommandID を取得します。 このフィールドは読み取り専用です。 |
BreakpointHitCountMenu |
古い.
ブレークポイント ヒット カウント メニューの CommandID を取得します。 このフィールドは読み取り専用です。 |
BreakpointLocationMenu |
古い.
ブレークポイント場所メニューの CommandID を取得します。 このフィールドは読み取り専用です。 |
ChangeTheme |
古い.
テーマ変更メニューの CommandID を取得します。 このフィールドは読み取り専用です。 |
ClearBreakpointsMenu |
古い.
ブレークポイント クリア メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
Collapse |
古い.
折りたたみメニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
CopyToClipboard |
古い.
コピー メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
CreateTheme |
古い.
テーマ作成メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
DebugCommandSetId |
古い.
デバッグ コマンド セットの一意の識別子を提供します。 このフィールドは読み取り専用です。 |
DebugStepBranchMenu |
古い.
デバッグ ステップ分岐メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
DebugStepInstanceMenu |
古い.
デバッグ ステップ インスタンス メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
DebugWorkflowGroupId |
古い.
メニューのデバッグ ワークフロー グループの一意の識別子を提供します。 このフィールドは読み取り専用です。 |
DefaultFilter |
古い.
既定フィルター メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
DefaultPage |
古い.
既定ページ メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
DesignerActionsMenu |
古い.
デザイナー アクション メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
DesignerProperties |
古い.
デザイナー プロパティ メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
Disable |
古い.
無効化メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
Enable |
古い.
有効化メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
EnableBreakpointMenu |
古い.
ブレークポイント有効化メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
ExecutionStateMenu |
古い.
実行状態メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
Expand |
古い.
展開メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
FirstZoomCommand |
古い.
第 1 ズーム メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
GotoDisassemblyMenu |
古い.
goto 逆アセンブリ メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
InsertBreakpointMenu |
古い.
ブレークポイント挿入メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
InsertTracePointMenu |
古い.
トレースポイント挿入メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
LastZoomCommand |
古い.
最終ズーム メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
MenuGuid |
古い.
メニューの一意の識別子を提供します。 このフィールドは読み取り専用です。 |
NewDataBreakpointMenu |
古い.
新規データ ブレークポイント メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
NewFileTracePointMenu |
古い.
ファイル新規トレースポイント メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
PageDown |
古い.
PageDown メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
PageLayoutMenu |
古い.
ページ レイアウト メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
PageSetup |
古い.
ページ セットアップ メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
PageUp |
古い.
PageUp メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
Pan |
古い.
パン メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
PanMenu |
古い.
パン メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
古い.
印刷メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
|
PrintPreview |
古い.
印刷プレビュー メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
PrintPreviewPage |
古い.
印刷プレビュー ページ メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
RunToCursorMenu |
古い.
カーソルの前まで実行するためのメニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
SaveAsImage |
古い.
イメージとして保存するためのメニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
SelectionMenu |
古い.
選択メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
SetNextStatementMenu |
古い.
次ステートメント設定メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
ShowAll |
古い.
全表示メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
ShowNextStatementMenu |
古い.
次ステートメント表示メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
ToggleBreakpointMenu |
古い.
ブレークポイント切り替えメニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
VerbGroupActions |
古い.
動詞グループ アクション メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
VerbGroupDesignerActions |
古い.
動詞グループ デザイナー アクション メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
VerbGroupEdit |
古い.
編集動詞グループ メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
VerbGroupGeneral |
古い.
一般動詞グループ メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
VerbGroupMisc |
古い.
その他動詞グループ メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
VerbGroupOptions |
古い.
オプション動詞グループ メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
VerbGroupView |
古い.
表示動詞グループ メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
WorkflowCommandSetId |
古い.
ワークフロー コマンド セットの一意の識別子を提供します。 このフィールドは読み取り専用です。 |
WorkflowToolBar |
古い.
ワークフロー ツール バー メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
Zoom100Mode |
古い.
100% ズーム メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
Zoom150Mode |
古い.
150% ズーム メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
Zoom200Mode |
古い.
200% ズーム メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
Zoom300Mode |
古い.
300% ズーム メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
Zoom400Mode |
古い.
400% ズーム メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
Zoom50Mode |
古い.
50% ズーム メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
Zoom75Mode |
古い.
75% ズーム メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
ZoomIn |
古い.
ズームイン メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
ZoomLevelCombo |
古い.
ズーム レベル コンボ メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
ZoomLevelListHandler |
古い.
ズーム レベル リスト ハンドラー メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
ZoomMenu |
古い.
ズーム メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
ZoomOut |
古い.
ズームアウト メニューにアクセスするために使用できる CommandID。 このフィールドは読み取り専用です。 |
メソッド
Equals(Object) |
古い.
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
GetHashCode() |
古い.
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
古い.
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
古い.
現在の Object の簡易コピーを作成します。 (継承元 Object) |
ToString() |
古い.
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
適用対象
.NET