Torsten Mandelkow MetroChart包括以下:

  • ColumnChart(ClusteredColumnChart,StackedColumnChart,StackedColumnChart100Percent)
  • 饼图(饼图和Dognut)
  • BarChart(ClusteredBarChart,StackedBarChart,StackedBarChart100Percent)
  • 甜甜圈
  • 径向测量

相当大的演示可以从CodePlex下载,但是不夠詳細的,所以我决定写一个小的入门指南。作为文档的一部分,还有一个操作方法,但它并没有真正起作用。图表没有渲染,我一步一步地遵循了如何操作,

其中

  • ChartTitle是图表的主要标题
  • ChartSubTitle是字幕,当然以较小的字体显示
  • DisplayMember是保存该值名称的属性的名称
  • ValueMember是保存该值的属性的名称
  • ItemsSource是本系列产品的来源。
  • SeriesTitle拥有特定系列的标题
  1. <Window xmlns:MetroChart="clr-namespace:De.TorstenMandelkow.MetroChart;assembly=De.TorstenMandelkow.MetroChart" x:Class="WpfApplication1.MainWindow"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  6. xmlns:Class="clr-namespace:WpfApplication1"
  7. mc:Ignorable="d"
  8. xmlns:chart="using:De.TorstenMandelkow.MetroChart"
  9. Title="MainWindow" Height="800" Width="1000" WindowStartupLocation="CenterScreen">
  10. <ScrollViewer>
  11. <Grid ShowGridLines="True">
  12.  
  13. <Grid.RowDefinitions>
  14. <RowDefinition Height="*"></RowDefinition>
  15. <RowDefinition Height="Auto"></RowDefinition>
  16. </Grid.RowDefinitions>
  17. <Grid.ColumnDefinitions>
  18. <ColumnDefinition Width="*"></ColumnDefinition>
  19. <ColumnDefinition Width="Auto"></ColumnDefinition>
  20. </Grid.ColumnDefinitions>
  21. <MetroChart:PieChart ChartSubTitle="Population in millions"
  22. ChartTitle="Countries by population" Grid.Row="0" Grid.Column="0">
  23. <MetroChart:PieChart.Series>
  24. <MetroChart:ChartSeries DisplayMember="Name"
  25. ItemsSource="{Binding Path=Populations}"
  26. SeriesTitle="World largest populations"
  27. ValueMember="Count" />
  28. </MetroChart:PieChart.Series>
  29. </MetroChart:PieChart>
  30.  
  31. <MetroChart:RadialGaugeChart ChartSubTitle="Population in millions"
  32. ChartTitle="Countries by population" Background="White" Grid.Row="0" Grid.Column="1">
  33. <MetroChart:RadialGaugeChart.Series>
  34. <MetroChart:ChartSeries DisplayMember="Name"
  35. ItemsSource="{Binding Path=Populations}"
  36. SeriesTitle="World smallest populations"
  37. ValueMember="Count" />
  38. </MetroChart:RadialGaugeChart.Series>
  39. </MetroChart:RadialGaugeChart>
  40.  
  41. <MetroChart:ClusteredColumnChart ChartSubTitle="Population in millions" ChartTitle="Countries by population" Grid.Row="1" Grid.Column="1">
  42. <MetroChart:ClusteredColumnChart.Series>
  43. <MetroChart:ChartSeries DisplayMember="Name"
  44. ItemsSource="{Binding Path=Populations}"
  45. SeriesTitle="World largest populations"
  46. ValueMember="Count" />
  47.  
  48. </MetroChart:ClusteredColumnChart.Series>
  49. </MetroChart:ClusteredColumnChart>
  50.  
  51. </Grid>
  52. </ScrollViewer>
  53. </Window>

VIEWMODEL:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Collections.ObjectModel;
  4. using System.ComponentModel;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Windows;
  8. using System.Windows.Controls;
  9. using System.Windows.Data;
  10. using System.Windows.Documents;
  11. using System.Windows.Input;
  12. using System.Windows.Media;
  13. using System.Windows.Media.Imaging;
  14. using System.Windows.Navigation;
  15. using System.Windows.Shapes;
  16.  
  17. namespace WpfApplication1
  18. {
  19. /// <summary>
  20. /// MainWindow.xaml 的交互逻辑
  21. /// </summary>
  22. public partial class MainWindow : Window
  23. {
  24.  
  25. public MainWindow()
  26. {
  27. InitializeComponent();
  28. this.DataContext = new MainViewModel();
  29. }
  30. }
  31.  
  32. public class MainViewModel
  33. {
  34. private readonly ObservableCollection<Population> _populations = new ObservableCollection<Population>();
  35. public ObservableCollection<Population> Populations
  36. {
  37. get
  38. {
  39. return _populations;
  40. }
  41. }
  42.  
  43. public MainViewModel()
  44. {
  45. _populations.Add(new Population() { Name = "China", Count = });
  46. _populations.Add(new Population() { Name = "India", Count = });
  47. _populations.Add(new Population() { Name = "United States", Count = });
  48. _populations.Add(new Population() { Name = "Indonesia", Count = });
  49. _populations.Add(new Population() { Name = "Brazil", Count = });
  50. _populations.Add(new Population() { Name = "Pakistan", Count = });
  51. _populations.Add(new Population() { Name = "Nigeria", Count = });
  52. }
  53. }
  54.  
  55. public class Population : INotifyPropertyChanged
  56. {
  57. private string _name = string.Empty;
  58. private int _count = ;
  59.  
  60. public string Name
  61. {
  62. get
  63. {
  64. return _name;
  65. }
  66. set
  67. {
  68. _name = value;
  69. NotifyPropertyChanged("Name");
  70. }
  71. }
  72.  
  73. public int Count
  74. {
  75. get
  76. {
  77. return _count;
  78. }
  79. set
  80. {
  81. _count = value;
  82. NotifyPropertyChanged("Count");
  83. }
  84.  
  85. }
  86.  
  87. public event PropertyChangedEventHandler PropertyChanged;
  88.  
  89. private void NotifyPropertyChanged(string property)
  90. {
  91. if (PropertyChanged != null)
  92. {
  93. PropertyChanged.Invoke(this, new PropertyChangedEventArgs(property));
  94. }
  95. }
  96. }
  97. }

引用的控件類庫:De.TorstenMandelkow.MetroChart.WPF,需要可以找我要或者直接去github找就可以了.

转载需註明引用!

WPF 圖表控件 MetroChart的更多相关文章

  1. [RadControl] RadCartesianChart-功能強大圖表控件

    由於最近做了一些統計的圖表分析,須使用到RadCartesianChart控件,因此就在這分享給大家順便為自己學習紀錄一下. 在介紹RadCartesianChart控件前,先看一下我所使用的到的功能 ...

  2. 深入理解MVC C#+HtmlAgilityPack+Dapper走一波爬虫 StackExchange.Redis 二次封装 C# WPF 用MediaElement控件实现视频循环播放 net 异步与同步

    深入理解MVC   MVC无人不知,可很多程序员对MVC的概念的理解似乎有误,换言之他们一直在错用MVC,尽管即使如此软件也能被写出来,然而软件内部代码的组织方式却是不科学的,这会影响到软件的可维护性 ...

  3. 潜移默化学会WPF(难点控件treeview)--改造TreeView(CheckBox多选择版本),递归绑定数据

    原文:潜移默化学会WPF(难点控件treeview)--改造TreeView(CheckBox多选择版本),递归绑定数据 目前自己对treeview的感慨很多 今天先讲 面对这种 表结构的数据 的其中 ...

  4. WPF 4 DataGrid 控件(进阶篇一)

    原文:WPF 4 DataGrid 控件(进阶篇一)      上一篇<WPF 4 DataGrid 控件(自定义样式篇)>中,我们掌握了DataGrid 列表头.行表头.行.单元格相关的 ...

  5. WPF 4 DataGrid 控件(基本功能篇)

    原文:WPF 4 DataGrid 控件(基本功能篇)      提到DataGrid 不管是网页还是应用程序开发都会频繁使用.通过它我们可以灵活的在行与列间显示各种数据.本篇将详细介绍WPF 4 中 ...

  6. WPF Calendar 日历控件 样式自定义

    原文:WPF Calendar 日历控件 样式自定义 粗略的在代码上做了些注释 blend 生成出来的模版 有的时候 会生成 跟 vs ui界面不兼容的代码 会导致可视化设计界面 报错崩溃掉 但是确不 ...

  7. WPF中Ribbon控件的使用

    这篇博客将分享如何在WPF程序中使用Ribbon控件.Ribbon可以很大的提高软件的便捷性. 上面截图使Outlook 2010的界面,在Home标签页中,将所属的Menu都平铺的布局,非常容易的可 ...

  8. WPF 调用WinForm控件

    WPF可以使用WindowsFormsHost控件做为容器去显示WinForm控件,类似的用法网上到处都是,就是拖一个WindowsFormsHost控件winHost1到WPF页面上,让后设置win ...

  9. InteropBitmap指定内存,绑定WPF的Imag控件时刷新问题。

    1.InteropBitmap指定内存,绑定WPF的Imag控件的Source属性 创建InteropBitmap的时候,像素的格式必须为PixelFormats.Bgr32, 如果不是的话在绑定到I ...

随机推荐

  1. 201521123075 《Java程序设计》第7周学习总结

    1. 本周学习总结 2. 书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 源代码为 public boolean contains(Object o) ...

  2. 201521123104 《Java程序设计》第5周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点 1.2 可选:使用常规方法总结其他上课内容. 1.接口不是类,不能使用new进行实例化; 2.接口可以扩展; 3.接口中可以包含 ...

  3. 201521123093 java 第二周学习总结

    201521123093 <java程序设计> 第二周学习总结 一.第二周学习总结 答:(1)关于进一步使用码云管理代码,本周才真正学会了如何将Eclipse里的代码上传到码云中,并且能够 ...

  4. 201521123088《Java程序》第二周总结

    #1. 本章学习总结 ①java基本数据类型 ②String类对象使用 #2. 书面作业 使用Eclipse关联jdk源代码,并查看String对象的源代码(截图)?分析String使用什么来存储字符 ...

  5. 201521123035《Java程序设计》第十二周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对象(属性:int id, String name,int age,doubl ...

  6. JAVA课程设计-----加减法测试博客

    1.团队成员介绍(一个人做的) 谢季努:网络1513 201521123079 2.项目git地址 3.项目git提交截图 4.项目运行截图 输入答案后点击确认就会出现本次的得分 如果觉得成绩不理想点 ...

  7. 201521123020 《Java程序设计》第9周学习总结

    1.本周学习总结 2. 书面作业 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什么异常.需要捕获吗(为什么)?应如何避免? 答:数组越界:不需要 ...

  8. Eclipse rap 富客户端开发总结(11) : rcp/rap与spring ibatis集成

    1. rcp/rap 与 spring 集成 Activator 是rcp/rap 启动时需要加载的类, 只需要加载一遍,所以与spring 集成的时候一般是在这个类里面加载spring 的Appli ...

  9. javascript:12种JavaScript MVC框架之比较

    Gordon L. Hempton是西雅图的一位黑客和设计师,他花费了几个月的时间研究和比较了12种流行的JavaScript MVC框架,并在博客中总结了每种框架的优缺点,最终的结果是,Ember. ...

  10. dotnet core 2.0在ubuntu下安装失败

    在ubuntu下安装.net core2.0失败了,不知道是什么原因.按照微软官方的步骤.似乎走不通.偶然翻到debian的安装方法,发现debian系统居然是直接下载包安装的.没经过apt.尝试一把 ...