微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

WP7-chart图表编程

转自:http://www.cnblogs.com/linzheng/archive/2011/10/06/1980328.html


sliverlight toolkit
http://www.silverlight.net/content/samples/sl4/toolkitcontrolsamples/run/default.html
Why didn't I think of that in the first place? [Windows Phone 7 Charting example updated to include reusable,platform-consistent Style and Templates]
http://blogs.msdn.com/b/delay/archive/2010/08/04/why-didn-t-i-think-of-that-in-the-first-place-windows-phone-7-charting-example-updated-to-include-reusable-platform-consistent-style-and-templates.aspx

利用Silverlight自带的chart组件可以很轻易地编写出各种常用的图表图形。


组件所在命名空间:
System.Windows.Controls.DataVisualization.Charting

在System.Windows.Controls.DataVisualization.Charting空间下可以定义下面7种图形
1、Lineseries  线性图
2、PieSeries  饼图
3、ColumnSeries  柱形图
4、AreaSeries  区域图
5、BarSeries  条状图
6、ScatterSeries  散点图
7、BubbleSeries 气泡图


 下面通过静态绑定的方法用Microsoft.Phone.Control.Panorama全景视图控件展现一下Lineseries、PieSeries、ColumnSeries、AreaSeries四种图形。

页面文件  省略了重复的代码

View Code
   
   
< phone:PhoneApplicationPage xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x ="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:phone ="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" xmlns:shell ="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" xmlns:charting ="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit" xmlns:local ="clr-namespace:DataVisualizationOnWindowsPhone" xmlns:d ="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc ="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:DataVisualization ="clr-namespace:System.Windows.Controls.DataVisualization;assembly=System.Windows.Controls.DataVisualization.Toolkit" xmlns:controls ="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls" x:Class ="DataVisualizationOnWindowsPhone.MainPage" SupportedOrientations ="PortraitOrLandscape" Orientation ="Portrait" mc:Ignorable ="d" d:DesignWidth ="480" d:DesignHeight ="800" shell:SystemTray.IsVisible ="False" > phone:PhoneApplicationPage.Resources <!-- Data --> local:Activities x:Key ="Activities" /> </ phone:PhoneApplicationPage.FontSize StaticResource ResourceKey ="PhoneFontSizenormal" phone:PhoneApplicationPage.Foreground ="PhoneForegroundBrush" Grid Grid.RowDeFinitions RowDeFinition Title controls:Panorama Title ="图表控件" > …… controls:PanoramaItem Header ="饼图" charting:Chart x:Name ="pieChart" Style =" {StaticResource PhoneChartStyle} " Template {StaticResource PhoneChartPortraitTemplate} Margin ="0,-7,0" charting:Chart.Palette DataVisualization:ResourceDictionaryCollection ResourceDictionary Style ="DataPointStyle" targettype ="Control" Setter Property ="Background" Setter.Value RadialGradientBrush MappingMode ="Absolute" GradientStop Color ="Blue" Offset ="0.9" ="DarkBlue" ="1.0" RadialGradientBrush Setter ="BorderBrush" Value ="Transparent" Style ="Yellow" ="0.8" ="Orange" ="Red" ="DarkRed" ="Green" ="DarkGreen" ="Lime" ="LimeGreen" ="LightGray" ="DarkGray" charting:PieSeries ="pieSeries" ItemsSource {StaticResource Activities} DependentValuePath ="Count" IndependentValuePath ="Activity" AnimationSequence ="FirstToLast" charting:Chart controls:PanoramaItem controls:Panorama phone:PhoneApplicationPage >

 后台代码部分

  
  
using System.Collections.Generic; using System.Windows; using System.Windows.Controls; using Microsoft.Phone.Controls; namespace DataVisualizationOnWindowsPhone { using System.Windows.Controls.DataVisualization.Charting; using System.Windows.Media; using DataVisualizationOnWindowsPhone.CustomPieChart; public partial class MainPage : PhoneApplicationPage { public MainPage() { InitializeComponent(); } } // 活动信息的类 class ActivityInfo { string Activity { get ; set ; } int Count { set ; } } 活动的活动列表类 数据源 class Activities : List < ActivityInfo > { public Activities() { Add( new ActivityInfo { Activity = " 上班 " ,Count = 100 }); Add( 吃饭 26 }); Add( 聊QQ 6 }); Add( 陪老婆 60 }); Add( 旅游 10 }); Add( 发呆 18 }); } } }

组件常用方法: Refresh:强制该组件从它的数据源刷新数据,然后重新渲染结果序列。   组件的常用属性: ActualAxes:获取显示在该组件上的实际轴数。 Axes:获取或设置在组件中的轴的序列。 ChartAreaStyle:获取或设置ISeriesHost的图表区域样式。 LegendItems:获取图例项的集合。 LegendStyle:获取或设置图例的样式。 LegendTitle:获取或设置图例的标题内容。 PlotAreaStyle:获取或设置该组件绘图区域的样式。 Series:获取或设置显示在该组件中的数据序列集合。 StylePalette:获取或设置一个由ISeriesHost子项所使用的样式调色板。 Title:获取或设置该组件的标题。 TitleStyle:获取或设置该组件的标题的样式。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐