Visifire for WPF既可以设计时设计图表,也可以完全从运行时通过代码进行图表的设置和绑定,这篇文章主要介绍如何通过代码对数据序列进行数据绑定,具体可以参考下面的代码:
1. XAML文件里进行如下设置
<vc:Chart Name="MyChart" Width="500" Height="300" Theme="Theme1">
</vc:Chart>
2.在CS文件里添加如下代码:
public partial class Page : UserControl
{
public Page()
{
InitializeComponent();
for (Int32 i = 0; i < 10; i++)
{
values1.Add(new KeyValuePair<double, double>(i, i + 1));
values2.Add(new KeyValuePair<double, double>(i, i + 3));
}
DataSeries ds1 = new DataSeries();
ds1.DataSource = values1;
DataMapping dm1 = new DataMapping();
dm1.MemberName = "XValue";
dm1.Path = "Key";
ds1.DataMappings.Add(dm1);
dm1 = new DataMapping();
dm1.MemberName = "YValue";
dm1.Path = "Value";
ds1.DataMappings.Add(dm1);
MyChart.Series.Add(ds1);
DataSeries ds2 = new DataSeries();
ds2.RenderAs = RenderAs.Line;
ds2.DataSource = values2;
DataMapping dm2 = new DataMapping();
dm2.MemberName = "XValue";
dm2.Path = "Key";
ds2.DataMappings.Add(dm2);
dm2 = new DataMapping();
dm2.MemberName = "YValue";
dm2.Path = "Value";
ds2.DataMappings.Add(dm2);
MyChart.Series.Add(ds2);
}
Random rand = new Random();
ObservableCollection<KeyValuePair<Double,Double>> values1 = new ObservableCollection<KeyValuePair<double, double>>();
ObservableCollection<KeyValuePair<Double,Double>> values2 = new ObservableCollection<KeyValuePair<double, double>>();
}
}
3. 运行效果如下: