Quantcast
Channel: てすとぶろぐ
Viewing all articles
Browse latest Browse all 208

WF 4.5 で追加されたアウトラインビューを利用する

$
0
0

WF4.5 でワークフロー中の構造を表示するアウトラインビューが提供されることは知っていたのですが、てっきり Visual Studio 上だけの話だとばかり思っていて華麗にスルーしていたところ、これはリホスティング環境でも普通に使えるシロモノだというのが判明したので実際に使ってみました。

ワークフローデザイナーを利用するのと同じく非常に簡単です。

   1:<Windowx:Class="MainWindow"
   2:xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
   3:xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
   4:Title="MainWindow"Height="350"Width="525"Loaded="Window_Loaded">
   5:<Grid>
   6:<Grid.ColumnDefinitions>
   7:<ColumnDefinitionWidth="109*"/>
   8:<ColumnDefinitionWidth="408*"/>
   9:</Grid.ColumnDefinitions>
  10:  
  11:<GridName="Grd"Grid.Column="1"></Grid>
  12:<GridName="doc"Grid.Column="0"></Grid>
  13:  
  14:</Grid>
  15:</Window>

こんな xaml でメイン画面を用意したとして。


   1:Imports System.Activities
   2:Imports System.Activities.Presentation
   3:Imports System.Activities.Statements
   4:Imports System.Activities.Core.Presentation
   5:  
   6:Class MainWindow
   7:  
   8:PrivateSub Window_Loaded(sender AsObject, e As RoutedEventArgs)
   9:Dim metadata AsNew DesignerMetadata
  10:         metadata.Register()
  11:  
  12:Dim wd = New WorkflowDesigner
  13:         WorkflowDesignerIcons.UseWindowsStoreAppStyleIcons()
  14:         Grd.Children.Add(wd.View)
  15:  
  16:Dim sq AsNew Sequence With {.DisplayName = "アイコンサンプル"}
  17:Dim wl1 AsNew WriteLine With {.DisplayName = "出力する", .Text = "クマー"}
  18:Dim wl2 AsNew WriteLine With {.DisplayName = "出力する", .Text = "ムッシュ"}
  19:Dim wl3 AsNew WriteLine With {.DisplayName = "出力する", .Text = "名言"}
  20:         sq.Activities.Add(wl1)
  21:         sq.Activities.Add(wl2)
  22:         sq.Activities.Add(wl3)
  23:  
  24:         doc.Children.Add(wd.OutlineView)
  25:  
  26:         wd.Load(sq)
  27:  
  28:EndSub
  29:End Class

こんな感じにソースを書きます。WorkflowDesigner クラスで OutlineView プロパティが新たに追加され、これを特に何も考えずに表示させればそのまま連動した形で表示されます。

image

非常に簡単で、大きいワークフローを操作する際には有用ですので必須機能ですね。


Viewing all articles
Browse latest Browse all 208

Trending Articles