技术开发 频道

详解Visual Studio中的移植设计器功能

  【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)

<Window x:Class="HelloDesigner.MainWindow"
        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)

<Window x:Class="MainWindow"
        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,你可以看到用来实现移植设计器的源代码。

0
相关文章