使用Silverlight 实现工作流流程定义
2009-03-01 22:39
169 查看
Silverlight 是一种跨浏览器、跨平台的 .NET Framework实现。具有如下优势:
提供一致的体验,而与在何处运行没有关系
它对视频和音频进行流处理。它将视频品质调整到适合各种环境:从移动设备到桌面浏览器以及 720p HDTV 视频模式
用户可以直接在浏览器中操作(拖动、旋转和缩放)的足够清晰的2D和3D图形
我们可以直接使用它在Web上来完成工作流流程的定义,直接绘制可拉伸,拖放的复杂图形,获得非常好的用户体验。而这在以前只能通过GDI+或者其他并不友好的方法实现。重要的是这一切实现的代码非常简洁。
你需要以下工具来实现:
<!--[if !supportLists]-->1. <!--[endif]-->Visual Studio 2008
<!--[if !supportLists]-->2. <!--[endif]-->VS2008SP1
<!--[if !supportLists]-->3. <!--[endif]-->Silverlight Tools
<!--[if !supportLists]-->4. <!--[endif]-->Expression Blend2
在完成绘图之前要对Silverlight的绘图平面有详细的了解。
Silverlight提供三个根布局对象来定义整个绘图面,这三个绘图的布局对象皆从Panel 元素的派生,可以实现许多复杂的布局。
此次演练我们将使用Grid元素完成整个页面布局。使用Canvas定义整个可拖放的绘图面,使用StackPanel元素来排列自定义的活动节点用户控件。
1<Grid x:Name="LayoutRoot" Background="#FF92A4AF" ShowGridLines="True">
2 <Grid.RowDefinitions>
3 <RowDefinition Height="40"/>
4 <RowDefinition Height="400"/>
5 </Grid.RowDefinitions>
6 <Grid.ColumnDefinitions>
7 <ColumnDefinition Width="600"/>
8 </Grid.ColumnDefinitions>
9 <StackPanel Grid.Column="0" Grid.Row="0" Orientation="Horizontal">
10 <Button Width=" 60" Height=" 25" Content="移动" Margin="10" Click="Button_Click"></Button>
11 <Button Width=" 60" Height=" 25" Content="连线" Margin="10" Click="Button_Click_1"></Button>
12 <TextBlock x:Name="Status" Foreground="Black" Text="Status" Margin="10" />
13 </StackPanel>
14 <Canvas Height="400" Width="600" x:Name="canver1" Grid.Row="1" Grid.Column="0" Background="#FF92A4AF">
15 </Canvas>
16 </Grid>
在这过程中主要涉及两个重要的对象
<!--[if !supportLists]-->1. <!--[endif]-->节点对象 定义工作流的每一个活动,可以显示一个活动的个性图标,名称等等信息,要可以自由拖动,拖动时相关坐标的活动间连线可以自动绘制。
<!--[if !supportLists]-->2. <!--[endif]-->连线可以自由拉伸的有向折线,终点绘制箭头,绘制过程中实现动态效果,自动粘结节点对象。
使用Blend2绘制节点对象FlowItem EnterItem = null;
void item_MouseEnter(object sender, MouseEventArgs e)
void item_MouseLeave(object sender, MouseEventArgs e)
void MMouseMove(object sender, MouseEventArgs e)
void MMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
void MMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
源码:
http://files.cnblogs.com/zhouyongguo/SilverlightApplication1.rar
提供一致的体验,而与在何处运行没有关系
它对视频和音频进行流处理。它将视频品质调整到适合各种环境:从移动设备到桌面浏览器以及 720p HDTV 视频模式
用户可以直接在浏览器中操作(拖动、旋转和缩放)的足够清晰的2D和3D图形
我们可以直接使用它在Web上来完成工作流流程的定义,直接绘制可拉伸,拖放的复杂图形,获得非常好的用户体验。而这在以前只能通过GDI+或者其他并不友好的方法实现。重要的是这一切实现的代码非常简洁。
你需要以下工具来实现:
<!--[if !supportLists]-->1. <!--[endif]-->Visual Studio 2008
<!--[if !supportLists]-->2. <!--[endif]-->VS2008SP1
<!--[if !supportLists]-->3. <!--[endif]-->Silverlight Tools
<!--[if !supportLists]-->4. <!--[endif]-->Expression Blend2
在完成绘图之前要对Silverlight的绘图平面有详细的了解。
Silverlight提供三个根布局对象来定义整个绘图面,这三个绘图的布局对象皆从Panel 元素的派生,可以实现许多复杂的布局。
Canvas | 定义一个区域,在此区域内,您可以使用相对于 Canvas 区域的坐标显式定位子元素。 |
Grid | 定义由行和列组成的灵活网格区域。 |
StackPanel | 将子元素排列成一行(可沿水平或垂直方向)。 |
1<Grid x:Name="LayoutRoot" Background="#FF92A4AF" ShowGridLines="True">
2 <Grid.RowDefinitions>
3 <RowDefinition Height="40"/>
4 <RowDefinition Height="400"/>
5 </Grid.RowDefinitions>
6 <Grid.ColumnDefinitions>
7 <ColumnDefinition Width="600"/>
8 </Grid.ColumnDefinitions>
9 <StackPanel Grid.Column="0" Grid.Row="0" Orientation="Horizontal">
10 <Button Width=" 60" Height=" 25" Content="移动" Margin="10" Click="Button_Click"></Button>
11 <Button Width=" 60" Height=" 25" Content="连线" Margin="10" Click="Button_Click_1"></Button>
12 <TextBlock x:Name="Status" Foreground="Black" Text="Status" Margin="10" />
13 </StackPanel>
14 <Canvas Height="400" Width="600" x:Name="canver1" Grid.Row="1" Grid.Column="0" Background="#FF92A4AF">
15 </Canvas>
16 </Grid>
在这过程中主要涉及两个重要的对象
<!--[if !supportLists]-->1. <!--[endif]-->节点对象 定义工作流的每一个活动,可以显示一个活动的个性图标,名称等等信息,要可以自由拖动,拖动时相关坐标的活动间连线可以自动绘制。
<!--[if !supportLists]-->2. <!--[endif]-->连线可以自由拉伸的有向折线,终点绘制箭头,绘制过程中实现动态效果,自动粘结节点对象。
使用Blend2绘制节点对象FlowItem EnterItem = null;
void item_MouseEnter(object sender, MouseEventArgs e)
void item_MouseLeave(object sender, MouseEventArgs e)
void MMouseMove(object sender, MouseEventArgs e)
void MMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
void MMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
源码:
http://files.cnblogs.com/zhouyongguo/SilverlightApplication1.rar
相关文章推荐
- 使用silverlight构建一个工作流设计器(十四)(动态生成流程图片下载_下)
- 实例演示使用RDIFramework.NET 框架的工作流组件进行业务流程的定义—请假申请流程-Web
- 使用silverlight构建一个工作流设计器(十三)(动态生成流程图片下载_上)
- 实例演示使用RDIFramework.NET 框架的工作流组件进行业务流程的定义—请假申请流程-Web
- 使用silverlight构建一个工作流设计器(十八)-持久化数据到数据库—服务器段功能实现
- 实例演示使用RDIFramework.NET 框架的工作流组件进行业务流程的定义—请假申请流程-Web 推荐
- 实例演示使用RDIFramework.NET 框架的工作流组件进行业务流程的定义—请假申请流程-WinForm
- JAVAWEB开发之工作流详解(二)——Activiti核心API的使用(流程定义和流程实例的管理、流程变量、监听器...)以及与Spring的集成
- 实例演示使用RDIFramework.NET 框架的工作流组件进行业务流程的定义—请假申请流程-WinForm
- 实例演示如何使用RDIFramework.NET 框架的工作流组件进行业务流程的定义—请假申请流程-WinForm 推荐
- Bing Maps进阶系列六:使用Silverlight剪切(Clip)特性实现Bing Maps的迷你小地图
- Bing Maps进阶系列六:使用Silverlight剪切(Clip)特性实现Bing Maps的迷你小地图
- 从一个工作流流转中人员设定的例子看WBISF流程引擎所定义的用户授权安全模型
- 从一个工作流流转中人员设定的例子看WBISF流程引擎所定义的用户授权安全模型
- 从一个工作流流转中人员设定的例子看WBISF流程引擎所定义的用户授权安全模型
- 从一个工作流流转中人员设定的例子看WBISF流程引擎所定义的用户授权安全模型
- 写一方法来实现两个变量的交换。在主调函数中定义两个整型变量,并初始化,调用交换方法,实现这两个变量的交换。(使用ref参数)
- 一步步学习SPD2010--附录C--使用SP2010管理任务(7)--启用或禁用用户定义工作流
- 使用silverlight构建一个工作流设计器(九)(附源代码下载、在线演示、视频教程)
- Activiti工作流之获取流程定义中所有的节点