一款开源免费的WPF图表控件ModernuiCharts

一款简洁好看的Chart控件  支持WPF、silverlight、Windows8  ,基本够用,主要是开源免费的。(商业控件ComponentOne for WPF要4w多呢)

This project provides a small library to display charts in Modern UI Style (formerly known as Metro) in WPF, Silverlight and Windows 8applications. You can check the charts with the Silverlight test application here: http://www.tetracon.de/charts

Available Charts

  • ColumnChart (ClusteredColumnChart, StackedColumnChart, StackedColumnChart100Percent)
  • PieChart (PieChart and Dognut)
  • BarChart (ClusteredBarChart, StackedBarChart, StackedBarChart100Percent)
  • Doughnut Chart
  • Radial Gauge Chart

News

  • 2013-05-05: Release of BETA version with several bug fixes and new charts (Doughnut, Radial Gauge, improved test applications and many more)
  • 2013-05-04: Availability of Silverlight test application via http://www.tetracon.de/charts

Screenshots

Default Layout

Dark Layout

Custom Palette (e.g.. with gradients or mono chrome)

Easy Switch of Axes (same data, switched axes)

Intention 1
I needed Modern UI Charts for my own application which should run on Desktop (WPF), Web (Silverlight) and Windows 8 devices and I didn't want to use 3 different third party charting components. That’s why I created the charts from scratch and used them in the tool “SharePoint Code Analysis Framework (SPCAF)” (http://go.spcaf.com/VSGallery) which I have developed with Matthias Einig.

Intention 2
I think that XAML is the greatest way to "describe” the UI of an application via a markup language. I don’t want to miss things like data binding, styling of controls, data templates, animation of state changes, easy re-use of custom controls, design support with Blend and many more. I don’t hope that HTML5 and JavaScript are the only future for our UIs. That’s why I wanted to discover how the same XAML could be used “cross-plattform” in WPF, Silverlight and Windows 8. For the charts I wanted to use as much as possible of the same XAML code which is available on all these plattforms. So finally the code for the charts uses the lowest common XAML subset of all three worlds. Check out the sample application in this project and see how it works.

Features
The charts have been developed from scratch with keeping in mind to fully support MVVM data binding, styling, retemplating, animation, dynamic series etc.

  • Dynamic binding of data
  • Animation after loading and after changes to underlying data
  • Custom Color Palette
  • Hidable Title and Legend
  • Switchable series
  • Light and dark layout support
  • Configurable font size

Try it out
The download contains the binaries, source code and test applications for WPF, Windows 8 and Silverlight. Download the release and try it out.

Important
This code is intended to be a sample how code can be created for WPF, Silverlight and Windows8. The code is an BETA release and still may have some bugs!

Screenshot Windows 8

 
Screenshot WPF


Screenshot Silverlight

 

源码地址:https://archive.codeplex.com/?p=modernuicharts

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
之前三此发的库http://download.csdn.net/detail/maiker/9621027可以作废,本次为最新的,其中测试了历史曲线的动态显示,这是对Microsoft WpfToolkit的更新和扩展: 1、将库版本升级到.NET 4.6.1,对命名控件进行了替换处理 2、实现了单数据Chart图的混合颜色显示,可通过修改资源字典调整和添加颜色 3、可控制各种Chart图形的数据值显示 4、坐标轴文本可倾斜显示 5、添加了StepLine图和圆环图,圆环半径比例系数可设定,同时添加了饼图的半径比系数,这样可以更好的控制饼图的标签显示,避免重叠 6、Legend可位于区域四侧,对齐方式也可以设定,以及是否显示, 可控制Chart Title是否显示 7、柱状图缝隙间隔可调整 8、全方面的加入了各种加载动画效果,动画效果可屏蔽,同时原系统自带动画效果,可叠加,这是两种不同的效果,可以互补性的单个使用 9、设计了四种主题颜色,各人可以针对图形颜色和背景色进行更好的搭配,在用户项目中,可以自己添加新的主题。 10、扩展了时间轴的应用,在新的DateTimeChart中可以通过鼠标平移和缩放时间轴,并测试了两个例子用于动态显示历史曲线,一个是外部定时更新,一个是内部定时更新 11、对LineDataPoint样式进行了设计,现在可以选择线图的点样式(如空心圆、五角星、三角形,矩形等),同时这些不同的点样式可以体现在Legend上,从而实现颜色和图形的双重区分。 总而言之,微软的控件库做得很标准,还是很好修改的。 最后一直想在历史曲线中取消点动画(及默认的透明度动画),以便提高执行效率,但微软的那部分动画不熟,总是修改失败。 可以发邮件[email protected]讨论。
之前两此发的库http://download.csdn.net/detail/maiker/9621027可以作废,本次为最新的,其中测试了历史曲线的动态显示,这是对Microsoft WpfToolkit的更新和扩展: 1、将库版本升级到.NET 4.5,对命名控件进行了替换处理 2、实现了单数据Chart图的混合颜色显示,可通过修改资源字典调整和添加颜色 3、可控制柱状图的数值显示 4、坐标轴文本可倾斜显示 5、添加了StepLine图和圆环图,圆环半径比例系数可设定 6、Legend可位于右侧和底部,以及是否显示, 可控制Chart Title是否显示 7、柱状图缝隙间隔可调整 8、全方面的加入了各种加载动画效果,动画效果可屏蔽,同时原系统自带动画效果,可叠加,这是两种不同的效果,可以互补性的单个使用 9、设计了四种主题颜色,各人可以针对图形颜色和背景色进行更好的搭配,在用户项目中,可以自己添加新的主题,在程序中更换主题的操作中,与资源集合字典相关的颜色需要重新加载图形才能更新(用户也可以把这部分资源从主题中删除,主要就是Chart的两个资源字典集合的属性设定),但在应用程序级别中指向主题资源时,则不存在任何问题。 10、扩展了时间轴的应用,在新的DateTimeChart中可以通过鼠标平移和缩放时间轴,并测试了一个例子用于动态显示历史曲线 总而言之,微软的控件库做得很标准,还是很好修改的。
ModernUI(http://mui.codeplex.com/)是一个开源WPF界面库,利用该界面库,我们可以创建很酷的应用程序。下面是ModernUI官方示例,你可以从官方网站直接下载源码运行,如果是.NET 4.0的话,记得要声明“NET4”预编译变量,否则无法编译通过。 这个界面框架是基于ModernUI来实现的,在该文我将分享所有的源码,并详细描述如何基于ModernUI来构造一个非常通用的、插件化的WPF开发框架。下载源码的同志,希望点击一下推荐。 本文将按照以下四点来介绍: (1)ModernUI简介; (2)构建通用界面框架的思路; (3)基于ModernUI和OSGi.NET的插件化界面框架实现原理及源码分析; (4)其它更有趣的东西~~。 要编写这样的WPF界面,我们需要在一个Window上声明菜单和Tab页面,下图是定义菜单的声明。 此外,每一个Tab风格页面,你也需要手动的为菜单创建这样的界面元素。 直接用这样的方式来使用ModernUI,显然不太适合团队协作性的并行开发,因为在一个团队的协作中,不同的人需要完成不同的功能,实现不同页面,每个人都需要来更改主界面。 我非常希望模块化的开发方法,因为这可以尽可能的复用现有资产,使程序员可以聚焦在自己关注的业务逻辑上,不需要关心UI的使用。下面,我将来描述基于ModernUI实现的一个通用界面框架,这个界面框架允许程序员在自己的业务模块中配置需要显示的界面元素。 通用界面框架实现思路: 我希望能够实现这样的通用界面框架: (1)程序员可以直接实现需要展现业务逻辑的界面,不需要关注如何使用ModernUI; (2)程序员可以通过简单的配置就可以将自己实现的业务逻辑页面显示在主界面中; (3)这个界面框架可以完全复用。 当我看到ModernUI这个界面库时,我希望将应用程序做成模块化,每一个模块能够: (1)通过以下配置能够直接显示二级菜单。 (2)通过以下配置能够直接显示三级菜单。 这样做的好处是,开发插件的时候可以不需要关心界面框架插件;团队在协作开发应用的时候,可以独立开发并不需要修改主界面;团队成员的插件可以随时集成到这个主界面;当主界面无法满足我们的布局时或者用户需求无法满足时,可以直接替换主界面框架而不需要修改任何插件代码。 最终的效果如下,以下界面的几个菜单及点击菜单显示的内容由DemoPlugin插件、DemoPlugin2插件来提供。当插件框架加载更多插件时,界面上会出现更多的菜单;反之,当插件被卸载或者被停止时,则相应的菜单将消失掉。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值