使用silverlight构建一个工作流设计器(九)(附源代码下载、在线演示、视频教程)

作者:互联网   出处:控件中国网   2014-11-05 19:17:11   阅读:1

增强的用户体验功能

6.5 约束性检查

在用户保存流程时,系统需要对用户当前配置的流程进行一般性的约束检查。这些约束性检查包括以下部分:

l         每个流程都必须有一个开始活动以及一个结束活动。

l         开始活动不能有前驱活动,必须有至少一个后续活动。

l         结束活动不能有后继活动,必须至少有一个前驱活动。

l         分支活动有且只有一个前驱活动,并且必须至少有一个后续活动。

l         汇聚活动有且只有一个后继活动,并且必须至少有一个前驱活动。

l         常规交互活动必须至少有一个前驱活动和后继活动(常规交互活动默认拥有或分支以及或汇聚活动的特性)。

l         每个规则都必须有起始活动和终结活动。

l         任何两个规则的起始活动和终结活动不能都相同。

 

通过以上程序检查的流程符合一般性约束条件,但并不表明这是一个完全正确的流程。这些检查只是一种编译性检查,不包含运行时的检查。运行时检查是指流程在运行过程中的一些约束性检查。这些包括但不限于:

l         规则条件的编写运行时检查。

l         流程死循环检查。

等等。

本程序只涉及到一般性的约束检查。

 

在保存流程时,根据上面的约束条件检查每一个活动和规则,对于不满足条件的,则给出相应提示,如下图所示:

 

 

6.6 增加动画效果

使用System.Windows.Media.Animation命名空间中的相关类来设置动画效果,本文中的动画效果很简单,在现实右键菜单时以及隐藏右键菜单时,采用渐进的现实和隐藏。

Xaml代码如下:

 


<StackPanel.Resources>
                
<Storyboard x:Name="sbShowMenu">
                    
<DoubleAnimation   From="0" To="170" Duration="00:00:0.2" 
                    Storyboard.TargetName
="spContentMenu" 
                    Storyboard.TargetProperty
="Height">
                        
<DoubleAnimation.EasingFunction>
                            
<CircleEase EasingMode="EaseIn"/>
                        
</DoubleAnimation.EasingFunction>
                    
</DoubleAnimation>
                
</Storyboard>
                
<Storyboard x:Name="sbCloseMenu">
                    
<DoubleAnimation   From="170" To="0" Duration="00:00:0.2" 
                    Storyboard.TargetName
="spContentMenu" 
                    Storyboard.TargetProperty
="Height">
                        
<DoubleAnimation.EasingFunction>
                            
<CircleEase EasingMode="EaseIn"/>
                        
</DoubleAnimation.EasingFunction>
                    
</DoubleAnimation>
                
</Storyboard>
            
</StackPanel.Resources>

 

还有一个改进就是曲线的改进。

多文化

Silverlight中的多文化编程方式和asp.net中的十分相识,如果您熟悉asp.net中的多文化编程,那么对于sliverlight多文化编程您一定似曾相识。但是silverlight2.0种对于多文化的支持好像还有一点bug,所以在编写的过程中遇到很多的问题。参考了网上的解决方案,在此就不必再重复了,Terrylee已经写的很清楚了。

http://www.cnblogs.com/Terrylee/archive/2008/06/19/localization-in-silverlight-2-beta-2-part1.html

Copyright© 2006-2015 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 渝ICP备12000264号 法律顾问:元炳律师事务所
客服软件
live chat