0

如何使用 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# 代码是设置系列的地方,我只需要知道如何添加另一个。

提前致谢。

4

1 回答 1

0

你可以在后面的代码中做所有事情。<DVC:Chart.Series>从 XAML 中删除该部分。然后您可以以编程方式设置所有系列(此示例基于您的 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);    
    }
}
于 2013-04-29T14:18:58.600 回答