技术开发 频道

详解Visual Studio顺序型工作流的创建

  步骤2—修改Main()来加载SayHello.xaml文件

  之前我们的工作流是被编译成一个类的。如果我们要直接从.xaml文件调用工作流,我们必须用ActivityXamlServices 把.xaml文件读进内存并建立一个让WorkflowInvoker可以调用的活动实例。要记住任何我们的.xaml文件引用的程序集在工作流被调用时一定要存在并能使用。

  1.把下列命名空间加入program.cs或Module1.vs文件

  using System.Activities.XamlIntegration;
  Visual Basic
  Imports System.Activities.XamlIntegratio

  2.修改program.cs或Module1.vb去调用ActivityXamlServices,并添加Console.ReadKey的调用,这样能更容易的观察我们的程序在Windows Explorer中的运行。

  (代码段- Introduction to WF4 Lab - ActivityXamlServices CSharp)

  static void Main(string[] args)
  {
  WorkflowInvoker.Invoke(ActivityXamlServices.Load(
"SayHello.xaml"));
  Console.ReadKey(
false);
  }
  (Code Snippet
- Introduction to WF4 Lab - ActivityXamlServices VB)
  Visual Basic
  Shared Sub Main()
  WorkflowInvoker.Invoke(ActivityXamlServices.Load(
"SayHello.xaml"))
  Console.ReadKey(False)
  End Sub

 

  验证

  在这次验证过程中,你会先运行HelloWorld程序,然后修改在bin\Debug文件夹下已经部署了的SayHello.xaml文件, 之后我们来看新的文字是否出现在控制台里。

  1.按CTRL+F5在非调试模式下运行工作流。你的程序应该在控制台里运行,而且输出“Hello Workflow 4”.

  2.在Bin\Debug目录下找到SayHello.xaml

  Locate the SayHello.xaml file in the project’s Bin\Debug directory

  3. 按SayHello.xaml右键菜单,选择Edit在Notepad中打开文件。

  Right click and select Edit

  4. 在Notepad中把WriteLine活动的Text属性的值改为“Hello Workflow 4 XAML”, 保存并关闭文件。

  Change the Text property in Notepad

  5. 从Windows Explorer运行HelloWorkflow.exe。 现在它应该显示”Hello Workflow4 from XAML”. 随便按个键退出。

  HelloWorkflow.exe showing a new message from the .xaml file

  6.回到Visual Studio, 把之前在SayHello.xaml上改过的设置恢复成初始状态, 这样可以进行之后的练习

  ·Build Action: XamlAppDef

  ·Copy to Output Directory: Do not copy

  ·Custom Tool: MSBuild:Compile

  Restore SayHello.xaml to the default properties for .xaml files

  注意!

  在Visual Studio 2010 Beta 2 里有可能找不到XamlAppDef Build Action。 如果你遇到这种情况,右键击中HelloWorkflow 项目,选择Add/New Item, 然后选Workflow/Activity来添加Activity.xaml. 之后XamlAppDef Build Action 就会出现了。

  在Solution Explorer里,选中SayHello.xaml并把它的build action 设为XamlAppDef. 之后你可以从项目中删掉Activity.xaml.

0
相关文章