【IT168 技术文档】如果你想建一个像PrePostSequence 那样的自定义活动,而使用者没有Visual Studio来使用它怎么办?此外,很多产品允许终端客户自定义工作流。为了解决这个问题,微软的新一代工作流提供了方便移植设计器的功能。在这个练习中,你可以看到移植设计器所需要的代码,并且体验下移植后的设计器。
1.打开解决方案
你可以使用练习9完成后的那个解决方案,经过一些操作,自己完成设计器移植。由于时间的限制,我们将直接打开设计器移植后的解决方案,看一下用来完成这些工作的代码。
(1)打开微软Visual Studio 2010.
(2)从以下路径打开解决方案: %TrainingKitInstallFolder%\Labs\ IntroToWF\Ex10-HostedDesigner\End.
(3)按CTRL+SHIFT+B来编译解决方案.
2.浏览HelloDesigner解决方案
HelloDesigner是一个WPF项目。
(1)展开HelloDesigner的被引用程序集。你可以看到为了移植设计器,这个项目主要引用了以下程序集:
? System.Activities.Presentation
·System.Activities.Core.Presentation
·System.Activities
·HelloWorkflow.Activities
·HelloWorkflow.Activities.Designers
(2)双击MainWindow.xaml文件,你可以看到用来描述移植设计器用户界面的WPF xaml代码。如以下的代码段所示。
(代码段 - Introduction to WF4 Lab – MainWindow XAML CSharp)
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="600" Width="1000">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="4*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid Name="grid1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="4*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
</Grid>
<TextBox Grid.Row="1" Name="textXAML"
VerticalScrollBarVisibility="Visible" />
</Grid>
</Window>
(代码段 - Introduction to WF4 Lab – MainWindow XAML VB)
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="600" Width="1000">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="4*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid Name="grid1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="4*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
</Grid>
<TextBox Grid.Row="1" Name="textXAML"
VerticalScrollBarVisibility="Visible" />
</Grid>
</Window>
(3)打开MainWindow.xaml.cs (C#) 或者MainWindow.xaml.vb,你可以看到用来实现移植设计器的源代码。