用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 @   WXWinter(冬)  阅读(5884)  评论(16编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示