zoukankan      html  css  js  c++  java
  • 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;
    		}
    	}
    }
     
     
  • 相关阅读:
    小结:ac自动机
    ubuntu14.04美化
    [LeetCode] 160. Intersection of Two Linked Lists 求两个链表的交集
    [LeetCode] 161. One Edit Distance 一个编辑距离
    [LeetCode] 72. Edit Distance 编辑距离
    [LeetCode] 162. Find Peak Element 查找峰值元素
    [LeetCode] 169. Majority Element 多数元素
    [LeetCode] 171. Excel Sheet Column Number 求Excel表列序号
    [LeetCode] 168. Excel Sheet Column Title 求Excel表列名称
    [LeetCode] 242. Valid Anagram 验证变位词
  • 原文地址:https://www.cnblogs.com/salam/p/1918742.html
Copyright © 2011-2022 走看看