Набор инструментов Silverlight для создания диаграмм: сгенерированный LineSeries создает исключение - PullRequest
1 голос
/ 05 августа 2011

У меня следующая проблема:
В нашем приложении у нас есть список отчетов с подкатегориями, определенными во время выполнения ...
Общие результаты отчета отображаются в ColumnSeries, который работает нормально.Теперь я должен показать результаты подкатегорий в LineSeries для прямого сравнения, которое не будет работать.Это то, что я до сих пор (в коде позади):

foreach (var item in ReportListViewModel.ReportSections)
{
    var series = new LineSeries();
    series.SetBinding(DataPointSeries.ItemsSourceProperty, new Binding("ItemList"));
    series.IndependentValuePath = "Date";
    series.DependentValuePath = item.BindingPath; // points to an existing entry in a Dictionary<string, double>
    series.Title = item.Text;
    chart.Series.Add(series);
}

Работает нормально, но как только данные загружены, я получаю InvalidOperationException, заявляя, что не найдена подходящая ось для построения значений.

Следующее работает совершенно нормально (хотя это не совсем то, что мне нужно):

foreach (...)
{
    ...
    series.DependentValuePath = "Result" // Result is the dependent property of the ColumnSeries, and I tested it just to make sure it isn't me
    ...
}

Ответы [ 2 ]

1 голос
/ 08 августа 2011

Я не знаю, что отличается, но теперь это работает ...

foreach (var item in ReportListViewModel.ReportSections)
{
    var series = new LineSeries();
    series.SetBinding(DataPointSeries.ItemsSourceProperty, new Binding("ItemList"));
    series.IndependentValuePath = "Date";
    series.DependentValuePath = item.BindingPath;
    series.Title = item.Text;
    chart.Series.Add(series);
}
1 голос
/ 08 августа 2011

Вы гарантировали, что в словаре Sections первого элемента в ItemList есть запись "Личность".Если нет записи, то вы увидите ошибку, которую вы получите.Серия линий использует значения первого элемента в источнике элемента для определения соответствующих осей для использования.Если значение равно нулю, произойдет сбой с исключением, аналогичным описанному вами (в вашем вопросе есть точное выражение для ошибки?).

...