基于wpf技术的雷达模拟实现

基于wpf技术的雷达模拟实现

ID:24633700

大小:69.01 KB

页数:5页

时间:2018-11-15

基于wpf技术的雷达模拟实现_第1页
基于wpf技术的雷达模拟实现_第2页
基于wpf技术的雷达模拟实现_第3页
基于wpf技术的雷达模拟实现_第4页
基于wpf技术的雷达模拟实现_第5页
资源描述:

《基于wpf技术的雷达模拟实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于WPF技术的雷达模拟实现【摘要】WPF为WindowsPresentationFoundation缩写,是微软新一代图形系统,运行在.NETFramework3.0架构下,为用户界面、2D/3D图形、文档和媒体提供统一的描述和操作方法。基于WPF技术雷达动画设计,动画演变时间进度与软件节点状态同步响应设计,可实现雷达扫描实时性。异步方式节点状态监测,利用线程独立于雷达进程运行,为其提供后台监测服务,完成对雷达节点数据转换要求。【关键词】WPF,XAML语言雷达模型动画1WPF技术简介基于DirectX9/10技术的WPF不仅带来前所未有的3D界面,且其图形向量渲染

2、引擎也大大改进传统2D界面,如Vista中半透明效果窗体等都得益于WPF。WPF相对于Windows客户端开发来说,向前跨出很大一步,它提供了超丰富的.NETUI框架,集成矢量图形丰富流动文字支持flowtextsupport,3D视觉效果和强大无比的控件模型框架。2WPF技术雷达实现XAML标记语言是WPF技术特色,设计人员利用它能构建绚丽多彩UI界面。实际开发中,设计人员利用MicrosoftExpressionBlend工具来设计界面,并生成XAML用户界面,下面例子是利用XAML构建雷达模型,实现雷达动画,利用C#语言完成监控业务逻辑,实现C#与XAML语言完

3、美结合,为用户创建震撼效果的雷达监控功能。本案例使用了MircosoftVisualStudio.NET2008开发工具和MicrosoftExpressionBlend2设计工具,采用C/S架构模式,使用C#语言和Xaml语言。2.1雷达监控功能描述雷达图的图形界面分三个区域:区一表示业务系统运行正常;区二表示业务系统部分关键指标出现告警,系统运行受到影响;区三表示业务系统关键指标不可用,系统运行不可用;各系统监测状态主要通过探针服务器直接进行可用性探测,并参考各业务核心关键指标,各系统图标依据以上三种状态进行颜色变化。当某个系统出现问题后(区域二或区域三)进行告警

4、,据问题严重程度排序显示。并展示各业务系统运行状态统计图。2.2雷达建模这里主要使用ExpressionBlend工具来生成XAML语言雷达模型,设计时将Canvas元素作为模型容器,内部使用大小不同Ellipse元素,转换成路径,通过渐变填充构建出雷达效果背景。2.3雷达动画驱动创建雷达动画,动画主要针对上述指针模型,围绕雷达中心点,周而复始进行360度旋转。下面代码是雷达动画故事版代码,每一圈动画速率为10秒。//加载雷达故事板Story=(Storyboard)this.Resources[,,EllipseAnimation"];//触发时间线过度事件Stor

5、y.CurrentTimelnvalidated+=newEventHandler(story一CurrentTimelnvalidated);Story.Begin();2.4雷达扫描同步雷达扫描同步是动画演变时间进度与软件节点状态同步响应设计,利用Storyboard类中故事板对象CurrentTimelnvalidated事件,实现扫描进度与实际监控状态响应同步。///节点状态同步监测服务类PCTK.App_Code.SystemSoftAnimationSyssoft;//时间线事件voidstory_CurrentTimeInvaIidated(object

6、sender,EventArgse){ClockmyClock=(Clock)sender;if(myClock.CurrentTime!=null)doubleTotalSeconds=Math.Round(myClock.CurrentTime.Value.TotalMilliseconds,4);CountAnimation=(int)TotalSeconds/10000;doubleNowlndex=Math.Round((TotalSeconds-CountAnimation*10000)/avgtime,4);Syssoft.SetSoftState(No

7、wlndex);Syssoft.SetSoftXY();}}2.5节点状态异步监测节点状态监测主要是独立于雷达动画进程节点状态监测,是雷达中表现的被监控对象。在本案例中节点是各应用系统,用独立线程从中间库提取应用系统运行状态,ThreadDataServiceProcess=newThread(newThreadStart(GetState));//GetState状态检测过程DataServiceProcess.IsBackground=true;DataServiceProcess.Start();在本案例中自定义了节点状态监测服务类NodeDa

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。