如何使用DVC线条系列图添加多个系列?
我有以下代码来生成我的第一个系列:
WPF:
<DVC:Chart Name="Chart"
Background="#463F3F">
<DVC:Chart.Series>
<DVC:LineSeries Title=" Monthly Count" IndependentValueBinding="{Binding Path=Key}" DependentValueBinding="{Binding Path=Value}">
</DVC:LineSeries>
</DVC:Chart.Series>
<DVC:Chart.PlotAreaStyle>
<Style TargetType="Grid">
<Setter Property="Background" Value="Transparent" />
</Style>
</DVC:Chart.PlotAreaStyle>
</DVC:Chart>C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Controls.DataVisualization;
using System.Windows.Controls.Primitives;
using System.Windows.Controls.DataVisualization.Charting;
namespace WpfApplication1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
LoadLineChartData();
}
private void LoadLineChartData()
{
((LineSeries)Chart.Series[0]).ItemsSource =
new KeyValuePair<DateTime, int>[]{
new KeyValuePair<DateTime,int>(DateTime.Now, 100),
new KeyValuePair<DateTime,int>(DateTime.Now.AddMonths(1), 130),
new KeyValuePair<DateTime,int>(DateTime.Now.AddMonths(2), 150),
new KeyValuePair<DateTime,int>(DateTime.Now.AddMonths(3), 125),
new KeyValuePair<DateTime,int>(DateTime.Now.AddMonths(4),155)};
}
}
}C#代码是设置系列的地方,我只需要知道如何添加另一个。
提前谢谢。
发布于 2013-04-29 22:18:59
你可以在后台代码中做任何事情。从您的XAML中删除<DVC:Chart.Series>部分。然后,您可以通过编程方式设置所有系列(此示例基于您的XAML并添加一个系列,想复制多少次就复制多少次(即使用FOR循环)以添加多个系列):
private void LoadLineChartData()
{
//Chart is your chart object in Xaml
//declare your series
LineSeries ls = new LineSeries();
ls.Title = "Monthly Count";
ls.IndependentValueBinding = new Binding("Key");
ls.DependentValueBinding = new Binding("Value");
ls.ItemsSource = new KeyValuePair<DateTime, int>[]
{
new KeyValuePair<DateTime,int>(DateTime.Now, 100),
new KeyValuePair<DateTime,int>(DateTime.Now.AddMonths(1), 130),
new KeyValuePair<DateTime,int>(DateTime.Now.AddMonths(2), 150),
new KeyValuePair<DateTime,int>(DateTime.Now.AddMonths(3), 125),
new KeyValuePair<DateTime,int>(DateTime.Now.AddMonths(4),155)};
// then add it to the chart
Chart.Series.Add(ls);
}
}https://stackoverflow.com/questions/16280122
复制相似问题