彩票走势图

分享visifire图表控件实现数据绑定的全过程

原创|其它|编辑:郝浩|2012-02-23 00:30:35.000|阅读 1838 次

概述:visifire是一款基于WPF&silverlight的动画图表控件,支持数据绑定、数据钻取以及实时更新等功能特点。上一篇文章《跟我一起学习做Visifire图表实时更新示例》中实现了visifire图表的实时更新功能,本文主要介绍visifire的数据绑定功能以及如何将图表绑定到数据源。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

  visifire是一款基于WPF&silverlight的动画图表控件,支持数据绑定、数据钻取以及实时更新等功能特点。上一篇文章《跟我一起学习做Visifire图表实时更新示例》中实现了visifire图表的实时更新功能,本文主要介绍visifire的数据绑定功能以及如何将图表绑定到数据源。

  创建一个silverlight应用程序,并将visifire二进制引用添加到该silverlight程序中。关于在silverlight程序中创建报表,请参考。

下面是一个Chart XAML:

<StackPanel Orientation="Horizontal">

<vc:Chart Name="MyChart" Width="500" Height="300" Padding="10,10" Margin="10,0" AnimatedUpdate="True">

<vc:Chart.Titles>
<vc:Title Text="Visifire DataBinding"></vc:Title>
</vc:Chart.Titles>

<vc:Chart.Series>
<vc:DataSeries RenderAs="Column">
<vc:DataSeries.DataMappings>
<vc:DataMapping MemberName="AxisXLabel" Path="Label"></vc:DataMapping>
<vc:DataMapping MemberName="YValue" Path="YValue"></vc:DataMapping>
</vc:DataSeries.DataMappings>
</vc:DataSeries>
</vc:Chart.Series>
</vc:Chart>

</StackPanel>

在项目中创建一个新的Value类,根据如下所示实现INotifyPropertyChanged接口。在类里面添加一个PropertyChanged事件。创建Label和 YValue属性,从而实现ProperyChanged事件。

using System;

using System.Net;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Documents;

using System.Windows.Ink;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Animation;

using System.Windows.Shapes;

using System.ComponentModel;

 

namespace VisifireDataBinding

{

public class Value : INotifyPropertyChanged

{

public String Label

{

get

{

return _label;

}

set

{

_label = value;

if (PropertyChanged != null)

PropertyChanged(this, new PropertyChangedEventArgs("Label"));

}

}

 

public Double YValue

{

get

{

return _yValue;

}

set

{

_yValue = value;

if (PropertyChanged != null)

PropertyChanged(this, new PropertyChangedEventArgs("YValue"));

}

}

 

#region INotifyPropertyChanged Members

public event PropertyChangedEventHandler PropertyChanged;

#endregion

 

Double _yValue;

String _label;

}

}

注:确保System.ComponentModel命名空间已被添加到页面内。

通过后台代码,创建ObservableCollection类,将其设置为图表中DataSeries的数据源。

public partial class Page : UserControl

{

public Page()

{

InitializeComponent();

 

values.Add(new Value() { Label = "Sony", YValue = 50 });

values.Add(new Value() { Label = "Dell&quot;, YValue = 35 });

values.Add(new Value() { Label = "HP", YValue = 27 });

values.Add(new Value() { Label = "HCL", YValue = 17 });

values.Add(new Value() { Label = "Toshiba&quot;, YValue = 16 });

 

MyChart.Series[0].DataSource = values;

}

 

ObservableCollection<Value> values = new ObservableCollection<Value>();

}

  在上面的例子,值是一个Value 类的集合。使用"Label" and "YValue"将"Label" and "YValue"映射到AxisXLabel和DataPoint 的YValue属性。当DataSeries的DataSource属性被设置到"values",DataSeries从值集合中获取数据来生成相应的数据点。

visifire,visifire控件,visifire图表,数据绑定,实时更新

 


(慧都控件网版权所有,转载请注明出处,否则追究法律责任)
标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP