【WPF】玩转DynamicDataDisplay

本文介绍了如何利用DynamicDataDisplay库开发一个功能丰富的曲线显示控件,包括自动调整Y轴、双Y轴显示、曲线隐藏、视窗宽度调整、暂停显示等功能。详细讲述了开发过程中的实现细节和遇到的问题,以及最终实现的效果。

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

【WPF】玩转DynamicDataDisplay

工程下载页面:https://download.youkuaiyun.com/download/weixin_40185666/11453697

前言

一直需要一个能够满足需求的曲线显示控件,在网上找了很多,有的是功能过于单一,有的是无法提供二次开发,有的是设计炫酷但是收费……dynamicdatadisplay应该算是比较早的一个开源库吧?外形朴素而且功能也很强大。我花费了一段时间对它进行了摸索,发现真的是好用,制作出来的曲线显示控件也是非常好用,实现了以下几个功能:

1. 收缩显示与滚动显示的无缝切换;
2. Y轴根据当前视窗内的极值自动进行调整,以保证能够看到当前视窗内的全部曲线;
3. 双Y轴显示,X轴共用,两边Y轴完全独立;
4. 可隐藏指定曲线,Y轴范围随之变化;
5. 滚动模式下,视窗宽度可调整;
6. 曲线数据显示可暂停,以方便分析,后台继续更新,点击继续立刻刷新;
7. 鼠标按住左键左右Y轴曲线同步拖动;
8. 滚轮滚动左右Y轴曲线同步拖动;
9. ctrl+框选左右Y轴曲线同步放大;
10. XML实现曲线点数据文件读取并显示;
11. legend显示隐藏等细节设计

仔细一想才发现自己做的还挺多的,哈哈~感谢dynamicdatadisplay提供的强大开发接口,让我可以按照自己的想法实现了这些功能。其实实现起来不是很难,就是简单的计算,不过在摸索接口和调试方面的确蛮花时间的。而且在已有的数据管理基础上进行开发,我面向的只是一张张数据表。

先上一张测试界面:
测试界面
花费了一些时间还是值得的,做出来的效果也还不错,对于提高工作效率和体验也是有帮助的。

XAML代码

        <d3:ChartPlotter x:Name="outerchart" Margin="5,15,5,5" LegendVisibility="Visible" MouseMove="outerchart_MouseMove">
            <d3:InjectedPlotter x:Name="innerchart" Background="Aqua" SetViewportBinding="False" LegendVisibility="Hidden" NewLegendVisible="False" Margin="5">
                <d3:VerticalAxis Placement="Right" x:Name="yAxisR"/>
                <d3:AxisNavigation Placement="Right"></d3:AxisNavigation>
                <d3:VerticalAxisTitle Content="rightYaxis" Placement=
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值