2012年2月10日金曜日

WorkflowDesigner のコンテキストメニューに項目を追加する

WorkflowDesigner のコンテキストメニュー(右クリックメニュー)には、独自に項目の追加を行う事が可能です。それを利用して標準で提供されていない機能の提供などを行う事ができます。

まずはソースから。

   1: 'メニュー項目の作成
   2: Dim buildContextMenu As New MenuItem With {
   3:     .Header = "ワークフローのビルド",
   4:     .IsEnabled = True
   5: }
   6: 'クリック時イベントの登録
   7: AddHandler buildContextMenu.Click, AddressOf BuildWorkflow
   8: 'デザイナのメニューへ反映
   9: designer.Context.Services.GetService(Of DesignerView).ContextMenu.Items.Add(buildContextMenu)

WorkflowDesigner のコンテキストメニューを操作する際には、DesignerView サービスを通して制御を行う必要があります。同名のクラスが WPF 関係で存在していますが、そちらとは別なので注意してください。

そこを除けば、コンテキストメニューを普通に操作する際のロジックとなんら変わりはありません。

実行するとこのような表示が行えます。

BuildWorkflow

自作 WFDesignerExpress ではこのような形でワークフローのビルド機能を提供しています。

0 件のコメント:

コメントを投稿