Multiple Series Charts with WPFtoolkit

picmate 涅 picture picmate 涅 · Feb 15, 2011 · Viewed 19.9k times · Source

Does anyone of you know the way to create multiple series charts with wpftoolkit? In a nutshell what I want is to have more dependent values for the same independent value. So far I couldn't find any comprehensive mechanism to get this working. Any help is deeply appreciated.

Answer

Pere BG picture Pere BG · May 15, 2012

If you want a Chart with two LineSeries

enter image description here

You may have 2 different lists in your .cs file filed with data:

List<KeyValuePair<DateTime, int>> llistaGastats = new List<KeyValuePair<DateTime, int>>();
List<KeyValuePair<DateTime, int>> llistaPreu = new List<KeyValuePair<DateTime, int>>();

Then you have to create another list to group those two lists:

var dataSourceList = new List<List<KeyValuePair<DateTime, int>>>();
dataSourceList.Add(llistaGastats);
dataSourceList.Add(llistaPreu);

And assign it to the DataContext

lineChart.DataContext = dataSourceList;

In your .xaml file you should create a Chart with two LineSeries and get the value of each Line using the ItemSource field.

Here is the .xaml:

<chartingToolkit:Chart Name="lineChart"
                                       Title="Consum KW" 
                                       VerticalAlignment="Top" 
                                       Margin="0,58,58,0" 
                                       Height="382"
                                       Grid.Column="1">
                <chartingToolkit:LineSeries Name="KWG"
                                                Title="KW Gastats"  
                                                DependentValuePath="Value" 
                                                IndependentValuePath="Key"
                                                ItemsSource="{Binding [0]}"
                                                IsSelectionEnabled="True"/>
                <chartingToolkit:LineSeries Name="KWP" 
                                                Title="Preu KW"  
                                                DependentValuePath="Value" 
                                                IndependentValuePath="Key"
                                                ItemsSource="{Binding [1]}"
                                                IsSelectionEnabled="True" />
            </chartingToolkit:Chart>

ItemsSource="{Binding [0]}" Binds the first item in the list assigned to the DataContext. ItemsSource="{Binding [1]}" Binds the second