|
原文地址:http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-31-Charting-Data.aspx
获取Silverlight工具包
在前面的文章中说到过,你可以参考#20。
使用PieSeries控件
确认添加了System.Windows.Controls以及System.Windows.Control.Datavisualization.Toolkit的引用。
我们同样需要保证我们添加了这些引用到页面,我创建了一个单独的页面,但是你不必这样做,添加了如下的代码:
xmlns:chart="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit"
然后,我们可以添加控件到程序。添加如下代码到PieSeries控件:
上边的代码就像他所代表的很简单,你不必再做更多。示例中,我实际上绑定图表到后台数据,甚至将格式做出了改变。
为了绑定数据到控件,我将会做#25所做的一样。这的确很简单,下面是代码:
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控件,而是指向他的父图表控件,然后这个系列的其实位置将会是-。我还不太清楚原理,但是直接指向PieSeries不会正确执行。
我们同样需要特定一些绑定信息来接受数据,最小化的设置是:DependentValueBinding 和IndependentValueBinding。正如你所猜测到的,DependentValueBinding 是实际绑定到的值,而IndependentValueBinding是数据的标签。
使用BarSeries控件
这个和上边使用方式差不多,创建控件绑定数据,在我的例子中,我想展示给你如何来设置特定数据到你的轴上。如,我常见了一个相同的主空间,然后添加BarSeries控件到上边,如下:
在这个例子中,你可以看到我设置了类别和直线坐标轴,然后定义了标题,方向,甚至最大最小值。很给力吧~
如下是代码:
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 cities = new List {
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;
}
}
}
|
|