Silverlight之区域图表

本文介绍了一款自定义地理区域图表插件的设计与实现,该插件支持区域定制、鼠标交互、图例显示等功能,并提供了保存和打印选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要:目前有很多图表插件可以在开发中供开发者选择,包括Silverlight本身就内置了很多图表插件,但是多数图表插件并没有提供地理区域图表功能。例如想看一下北京十八个区县人口分布情况,当然你可以使用饼图、柱状图等,但是如果可以直接看到类似于地图的分布状况不是更加直观吗?

主要内容:

1.图表功能

2.图表设计

3.使用效果

一、图表功能

图表有以下功能特点

  1. 区域可定制化,今天是北京市明天可能还需要用到上海市,因此这个区域不能是硬编码的而是可以自由定制的。
  2. 使用灵活,插件使用者可以自用设置图表的标题、区域颜色、区域的数据显示、区域提示等。
  3. 支持显示图例显示和鼠标互动,提高用户体验。
  4. 支持保存、打印,丰富图表功能。

二、图表设计

要实现这样一个图表插件,主要解决的问题还是区域制定化的问题,这里通过XML配置的方式实现,将每个图表作为一个Chart,每个Chart中有多个Area区域。Area中主要需要对区域路径和位置的描述(也就相当于要在Silverlight中通过读取配置文件进行绘制Path,不过不用担心,这些都可以通过Express Design来实现)然后程序中通过动态创建Path来实现动态绘制。另外图片的保存功能在前面的文章"Silverlight之摄像头麦克风使用"已经说过。而在Silverlight 4中也已经提供了原生的打印功能,因此要实现这两个功能也相当容易。另外还需要用到Silverlight Toolkit中的ContextMenu将其添加到右键菜单中。下面是实现的主要类图:

 classDesign

ChartManager主要负责图表管理,这其中包括图表Chart和区域Area的管理,通过它可以将XML配置中的图表、区域转换为对应实体。

Chart和Area为对应的实体类,通过其各自对应的Access进行访问。

ChartImage主要是实现保存功能,而Legend是对图例的抽象。

Printer和XmlHelper是两个辅助类,用户打印和xml操作。

其中几个主要类的源代码

ChartManager

View Code

 

Chart

View Code

 

Area

View Code

 

ChartAccess

View Code

 

AreaAccess

View Code

 

ChartTipService

View Code

 

Printer

View Code

 

XmlHelper

View Code

 

再看一下配置文件,需要注意的是文件中路径、长、宽、间隔等是可以通过Expression Design中绘制然后导出XAML粘贴过来的。

View Code

 

Main页面XAML

View Code

 

Main页面CS

View Code

 

三、使用效果

最后看一下使用过截图吧

图表展示

 cmjCharts

鼠标移动上之后的效果(区域放大并显示提示信息)

 mouseover

设置图表标题

 setChartTitle

设置区域颜色

 setAreaColor

设置区域标题

 setAreaTitle

设置数据

 setAreaDataExplain

设置提示信息

 setAreaTipInfo

最后附上插件源代码download

内容概要:本文档详细介绍了Analog Devices公司生产的AD8436真均方根-直流(RMS-to-DC)转换器的技术细节及其应用场景。AD8436由三个独立模块构成:轨到轨FET输入放大器、高动态范围均方根计算内核和精密轨到轨输出放大器。该器件不仅体积小巧、功耗低,而且具有广泛的输入电压范围和快速响应特性。文档涵盖了AD8436的工作原理、配置选项、外部组件选择(如电容)、增益调节、单电源供电、电流互感器配置、接地故障检测、三相电源监测等方面的内容。此外,还特别强调了PCB设计注意事项和误差源分析,旨在帮助工程师更好地理解和应用这款高性能的RMS-DC转换器。 适合人群:从事模拟电路设计的专业工程师和技术人员,尤其是那些需要精确测量交流电信号均方根值的应用开发者。 使用场景及目标:①用于工业自动化、医疗设备、电力监控等领域,实现对交流电压或电流的精准测量;②适用于手持式数字万用表及其他便携式仪器仪表,提供高效的单电源解决方案;③在电流互感器配置中,用于检测微小的电流变化,保障电气安全;④应用于三相电力系统监控,优化建立时间和转换精度。 其他说明:为了确保最佳性能,文档推荐使用高质量的电容器件,并给出了详细的PCB布局指导。同时提醒用户关注电介质吸收和泄漏电流等因素对测量准确性的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值