用WF流程控制WPF动画

用WF流程控制WPF动画

这次的主题是WF不只是审批

本文用一个小例子演示了在WF中定义动做步骤,用来控制WPF页面元素的动画

这个例子的目的是为了让大家从另一个角度了解WF的应用,不要一提到WF就想到审批平台,

WF是一个流程控制引擎,非常适合开发与流程控制相关的业务,如果你的业务逻辑比较复杂,而且业务逻辑需要经常修改,或者需求就要求提供一个可自定义业务逻辑的接口,比如:

  • 审批,流程类业务系统
  • 工控系统
  • 与逻辑算法相关的人工智能系统,搜索引擎,数据处理分发系统
  • 设备的运行状态UI展现
  • 导航系统的摄影机路线与节奏控制
  • 游戏中的剧情控制
  • 游戏中人物的动件组合

那你可以考虑一下WF,至少可以借鉴一下WF的思路

 

本文例子下载: https://files.cnblogs.com/wxwinter/WFWPF.rar

先看一下例子的效果

 

 

流程

 

控制说明

 

 

程序说明

没什么好说的,下图中程序结构,全部代码没的超过50行,

有一点要说明一下,我为WorkflowRuntime添加了ManualWorkflowSchedulerService,这样就解决了跨线程访问UI的问题,关于ManualWorkflowSchedulerService我已有多篇文章做过详细说明,这里就不再说了

还用,用ManualWorkflowSchedulerService决了跨线程访问UI的问题是我偷懒的做法,如果真的要做图形动做引擎,不建议用这种方式

 

 

 

总结说明

可以将工作流设计成XOML字串格式的,并提供一个动做流程设计器

 

可以在动做流程设计器中用基本的[动做Activity]组合复杂的动做,也可以开发一些特殊动做的Activity,如[转体360度Activity],[眼睛蛇动做Activity]

 

 

最后:

本文不是要介绍图形动做引擎,本文想说明的是:

WF不只是审批,

流程逻辑控制与实体对象分离,逻辑控制可跟据需要进行后期设计,而不修改实体对象

这是一种设计思想,WF只是实现这种设计思想的一个开发包

 

 

 

posted @ 2008-11-19 09:36  WXWinter(冬)  阅读(5837)  评论(16编辑  收藏  举报