J'ai un ComboBox avec différents projets. Basé sur la valeur de cette liste déroulante, je veux que les différentes heures qui ont été enregistrées sur ce projet présenté dans un tableau.Créer un graphique avec WPF Chart ToolKit basé sur le ComboBox sélectionné
Le code pour le tableau que j'ai créé:
<chartingToolkit:Chart Height="262" HorizontalAlignment="Left"
Margin="33,0,0,620" Name="columnChart"
VerticalAlignment="Bottom" Width="360" BorderBrush="AntiqueWhite" BorderThickness="1">
<chartingToolkit:ColumnSeries
DependentValuePath="Value"
IndependentValuePath="Key"
ItemsSource="{Binding}"/>
</chartingToolkit:Chart>
Le code qui « devrait » remplir la liste qui créerait le graphique:
private void showColumnChart()
{
List<KeyValuePair<string, int>> valueList = new List<KeyValuePair<string,int();
List<ProsjektTime> timeListe = new List<ProsjektTime>();
foreach (ProsjektTime p in Master.getDC().ProsjektTimes)
{
if (p.ProsjektID_FK == prosjekt.ProsjektID)
{
timeListe.Add(p);
}
}
foreach(ProsjektTime p in timeListe)
{
valueList.Add(new KeyValuePair<string,int(p.TimeTyper.Type,p.AntallTimer));
}
try
{
columnChart.DataContext = valueList;
}
catch (InvalidOperationException e) { MessageBox.Show(e+""); }
}
Malheureusement je reçois l'erreur, « Impossible modifiez les enfants logiques pour ce noeud à ce moment car un arbre marche ".
Cependant, j'ai découvert quelque chose d'intéressant. Si je mets l'attribut selectedIndex de la ComboBox dans un projet qui a quelques heures d'enregistrement (tous les projets n'ont pas d'heures d'enregistrement), tout fonctionne correctement. Les projets dont les heures sont présentées dans le tableau et les projets sans heures d'inscription sont également présentés sous forme de tableau vide. Qu'est-ce que je rate?