• Windows Phone 7 图表控件的使用


      这一讲介绍在Windows Phone 7平台下如何使用Chart,我将展示在我们的应用程序中添加Pie,Bar和其它Chart。

      

      获取Silverlight Toolkit

        首先你需要下载控件包,到Silverlight Toolkit on Codeplex,并且安装。本篇特别介绍PieSeries、BarSeries。

      PieSeries控件的使用

        1.添加程序集引用

          在的Silverlight安装路径下可以找到System.Windows.Controls 、the System.Windows.Controls.DataVisualization.Toolkit这两个程序集(我的路径是C:\Program Files\Microsoft SDKs\Silverlight\v4.0\Toolkit\Apr10\Bin)

    将这两个程序集引用。

        2.添加命名空间

          在使用控件的XAML页面加入命名空间。

    xmlns:chart="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit"
    

         
         3.添加控件    

          在XAML页面中添加图下代码
    <chart:Chart>
    	<chart:PieSeries />
    </chart:Chart>
    
         
           这只是简单的添加了控件,你还没有做任何事呢。
        4. PieSeriesControl.xaml.cs
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;
    using Microsoft.Phone.Controls;
    using System.Windows.Controls.DataVisualization.Charting;
     
    namespace Day31_ChartingControls
    {
    	public partial class PieSeriesControl : PhoneApplicationPage
    	{
    		VideoGameCharacter[] pacman = new VideoGameCharacter[2] { new VideoGameCharacter("Resembles", 8), new VideoGameCharacter("Doesn't resemble", 2)};
    		
    		public PieSeriesControl()
    		{
    			InitializeComponent();
    			PieSeries pieSeries = PieChart.Series[0] as PieSeries;
    			pieSeries.ItemsSource = pacman;
    		}
    	}
     
    	public class VideoGameCharacter
    	{
    		public string Label { get; set; }
    		public int Value { get; set; }
     
    		public VideoGameCharacter(string label, int value)
    		{
    			Label = label;
    			Value = value;
    		}
    	}
    }
    
    
      你会发现,我并不是直接使用PieSeries 控件,而是使用的它的父控件,Series在Series集合的第一个索引  

      PieSeriespieSeries = PieChart.Series[0] asPieSeries;

      我也不是完全清楚,为啥直接调用 PieSeries控件而不能使用。下面我将绑定数据到PieSeries。

    <chart:Chart x:Name="PieChart">
            <chart:PieSeries 
                   IndependentValueBinding="{Binding Label}"
                   DependentValueBinding="{Binding Value}"/>
    </chart:Chart>

      

    效果如下图

    BarSeries控件的使用 

     

           同样,我们可以使用BarSeries控件,创建控件,绑定数据都一样

    <chart:Chart x:Name="BarChart" Foreground="Gray" Title="Midwest City Populations">
    	<chart:BarSeries
    		Title="Population"
    		IndependentValueBinding="{Binding Name}"
    		DependentValueBinding="{Binding Population}"/>
    	<chart:Chart.Axes>
    		<chart:CategoryAxis Title="City" Orientation="Y" FontStyle="Italic"/>
    		<chart:LinearAxis Title="Population" Orientation="X" Minimum="0" Maximum="2500000" Interval="500000" ShowGridLines="True"  FontStyle="Italic"/>
    	</chart:Chart.Axes>
    </chart:Chart>
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;
    using Microsoft.Phone.Controls;
    using System.Windows.Controls.DataVisualization.Charting;
     
    namespace Day31_ChartingControls
    {
    	public partial class BarSeriesControl : PhoneApplicationPage
    	{
    		List<City> cities = new List<City> { 
    			new City { Name = "CLE", Population = 2250871 }, 
    			new City { Name = "CMH", Population = 1773120 }, 
    			new City { Name = "CVG", Population = 2155137 }, 
    			new City { Name = "DET", Population = 4425110 } };
    		
    		public BarSeriesControl()
    		{
    			InitializeComponent();
    			BarSeries bs = BarChart.Series[0] as BarSeries;
    			bs.ItemsSource = cities;
    		}
    	}
    }
     
     
  • 相关阅读:
    谢谢博客-园,让我不再有开源AYUI的想法
    [ay原创作品]用wpf写了个模仿36Kr网站登录背景的效果
    [AY技术分享]WPF AYUI的高大上日历代码
    [C#] AY.WPF-图形编程-高中生为起点-研究报告1
    [Aaronyang]谈谈2015年AY对WPF全面技术总结40多篇WPF,炫到没朋友的AYUI来了
    C#人爱学不学9[C#5.0异步实例+WPF自己的MVVM Async应用 1/12]
    Ay.Framework.WPF 2.0建立项目到底有多快
    [aaronyang]WPF4.5
    Hystrix是什么
    通俗理解ZooKeeper是如何保证数据一致性的
  • 原文地址:https://www.cnblogs.com/salam/p/1918742.html
Copyright © 2020-2023  润新知