Используя элемент управления диаграммой инструментария Silverlight 4, я пытаюсь создать диаграмму на 100% во время выполнения без каких-либо доказательств этого в XAML. Для этого я создаю пустой график при загрузке страницы:
Chart TrendChart = new Chart();
TrendChart.Name = "TrendChart";
TrendChart.Title = "Call History";
TrendChart.HorizontalContentAlignment = System.Windows.HorizontalAlignment.Stretch;
TrendChart.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch;
TrendChart.VerticalAlignment = System.Windows.VerticalAlignment.Stretch;
TrendChart.VerticalContentAlignment = System.Windows.VerticalAlignment.Stretch;
GridPanel.Children.Add(TrendChart);
После того, как пользователь нажимает кнопку для извлечения данных, создается список этого пользовательского класса:
private class PhoneTrendDataPoint
{
public string XValue { get; set; }
public double YValue { get; set; }
}
Я использую этот список, который называется CurrentCallTrends, в качестве источника элементов для моего графика.
// Update the chart with the received data
Chart TrendChart = (Chart)this.FindName("TrendChart");
// Wipe out previous chart data
TrendChart.Series.Clear();
// set the data
ColumnSeries columnSeries = new ColumnSeries();
columnSeries.Name = "Current Call Volume";
columnSeries.ItemsSource = CurrentCallTrends;
//columnSeries.SetBinding(ColumnSeries.ItemsSourceProperty, new Binding("CurrentCallTrends"));
columnSeries.DependentValueBinding = new Binding("XValue");
columnSeries.IndependentValueBinding = new Binding("YValue");
TrendChart.Series.Add(columnSeries);
Проблема заключается в том, что я получаю ошибку во время выполнения, когда мне предлагается открыть отладчик относительно ссылки на объект, не установленной для экземпляра объекта. Если я прокомментирую строку в .SetBinding, то ItemsSource исчезнет, и данные не отобразятся, но, по крайней мере, ошибки времени выполнения не будет.
Чего мне не хватает?