APP下载

基于WPF飞行模拟器数据采集配置工具的设计

2020-04-14杨宛璐应艳茹吴慧钦王建普

教练机 2020年1期
关键词:配置文件控件工具

杨宛璐,应艳茹,吴慧钦,王建普

(航空工业洪都,江西 南昌,330024)

0 引言

飞行模拟器的设备众多,各个模拟分系统的数据接口也越来越繁杂,以往人工手动更改接口配置文件已经不能满足当前的业务需求。本文设计一种基于WPF设计的配置工具,采用工程化的方式对所有接口文件进行加载、保存,图形化界面方式对所有模块进行编辑,对系统的数据接口文件进行有效的管理。

数据采集配置软件是飞行模拟器数据采集系统不可或缺的组成部分,主要实现对动态接口及数采信号的定义,生成一定格式的配置文件,数采软件通过读取配置文件的信息,建立动态接口和获取数采信号详细信息,软件采用关系表的形式,通过主键(iID,子iID)建立动态接口与数采信号变量的一一对应关系,完成数据映射。编辑工具除具有生成和编辑数采信号文件、动态接口文件的功能,还可在编辑配置文件过程中,对文件进行唯一性判断和安全性检查,同时,对同类型的配置文件具有文件合并的功能。

本系统采用WPF作为界面实现技术,采用C#语言编写逻辑代码,主要介绍实现数据采集系统配置软件的WPF界面设计方法及技巧,旨在说明如何高效设计出合理、易扩展、友好的系统界面。

1 WPF简介

WPF是 Microsoft原有.NET框架和 DirectX的产物。WPF能够运用快速开发的视觉效果以及特殊的用户体验技术来建立与客户的密切关系,使企业可以建立稳定的数字客户关系。

WPF提供统一的UI(用户界面)平台。因此,设计人员只需学习一个模式,就可以获得无限可能的UI体验。对于.NET开发人员,代码量能减少到最佳用户体验和通讯逻辑所需的行数;对于设计人员,WPF提供的平台可以消除内容、媒体和应用程序之间的边界。最重要的是,WPF可以使开发人员和设计人员同步紧密地合作来快速提供不同的体验[1]。

2 MVVM模式

数采系统配置工具系统框架采用MVVM (Model-View-View-Mode)模式。该模式系统框架如图1所示。View先绑定View Model,然后执行一些命令向其请求动作。View Model与Model通讯,通知响应UI。这样的通讯机制使得系统构建十分容易。在系统界面和功能越来越松耦合的同时,功能可测性越来越强[1]。

图1 系统结构图

本系统界面采用WPF编程实现,采用Visual Studio 2010和.Net Framework 4.0平台架构。

界面设计采用微软的Expression Blend 4和Visual Studio 2010。Blend主要负责界面设计,包括空间布局,背景色,控件样式以及自定义控件;Visual Studio 2010主要完成界面上控件的响应及界面之间的传值,完成用户与系统的信息交互。

3 系统结构图

基于WPF的数据采集配置可分为文件管理、模块管理、数据管理、有效性检测、系统管理五大部分(见图 2)。

图2 MVVM架构图

4 主界面框架的实现

主窗口由三部分组成,标题栏、菜单栏及左、右两栏业务区(见图3)。

图3 主界面

1)菜单栏:通过菜单实现新建文件、打开文件、保存文件等功能。

2)左侧业务区:通过加载文件显示树状视图节点信息,主要指加载XML文件节点信息,显示各个层次节点属性的信息。

3)右侧业务区:通过点击左侧树状图的节点信息,以Tab页形式显示各个模块的详细信息。

5 子模块设计

该配置工具在子模块的设计过程中将界面显示功能与业务模块尽量独立,这样可以减少它们之间的耦合,便于进行维护和移植[3]。同时在配置过程中,进行有效性检测,目的是为了配置出合格的数据文件。

子模块通过自定义控件实现,该系统中存在9个自定义控件,分别为:

以下以总线模块进行举例说明,在主窗口左侧树状图,点击不同节点会在右侧业务区载入不同的自定义控件,如点击 “总线”节点,将载入CANInfoUserControl自定义控件,并以Tab页形式显示。此Tab页需重新设置样式,每一个Tab页由一个TextBlock和一个Button组成,Button重定义模板,由“×”图形填充,并实现关闭该子模块的功能。为保证总线模块与主框架的松耦合状态,应使总线模块只有一个独立的数据源,简单来说是为模块设计对外部公开的公共接口。

因此注册依赖属性ItemSourceDataProperty,用户可通过ItemSource属性给该控件赋值。

图4 文档结构图

6 系统结构文档定义

本系统配置文件为XML文本格式文件,XML(Extensible Markup Language)是一种界定文本数据的简便而标准的方法,它可根据需求创建任意数据结构,此格式允许自定义标签并支持层次结构的嵌套。XML文本格式不受编程语言和平台的限制,能够在不同的用户、平台和程序间交换数据[2]。

配置工具的数据结构与约定规则的XML数据之间相互映射,信息可以相互解析。

如图4所示,配置系统的详细信息以树型结构表示,Root节点是逻辑节点XML结构中的根节点,本身也包括一部分信息,如工程的名称、创建人、创建版本、创建时间等。在保存交换数据时,要使信息不丢失且具有原始的结构信息,XML以属性方式保存这部分信息,保持数据的真实性与完整性。图4中XML文档所示元素代表模型中树节点、各元素的属性。配置工具能够导入.pro文件和对应各个模块的XML文件(如 : NetConfig、 CANInfoConfig、DIModuleConfig、AIModuleConfig等),用户可根据实际需求进行相应的界面配置。配置工具根据各个模块的XML文件信息和工程人员的配置信息,生成各个模块的配置文件,同时也可导出新的配置文件。

7 结语

应用WPF实现的系统界面使得系统界面更加美观,新的架构使得界面与代码更好地分离,开发和维护越来越简单。该配置工具开发完成后,已实际应用于工程配置中。实践证明,该工具既能满足当前工程环境中的配置需求,也能有效降低配置工作的难度,提升了工作效率,保证了配置的准确性,在飞行模拟器数据采集系统中发挥了应有的作用。

猜你喜欢

配置文件控件工具
提示用户配置文件错误 这样解决
波比的工具
波比的工具
搭建简单的Kubernetes集群
互不干涉混用Chromium Edge
忘记ESXi主机root密码怎么办
关于.net控件数组的探讨
“巧用”工具
就这样玩会VBA中常见的自定义控件
在PowerBuUder中利用WinSock控件制作简单的Web服务器