Привязка словаря к диаграмме инструментария WPF - PullRequest
0 голосов
/ 16 мая 2011

Вот мой код для привязки элемента словаря к элементу управления Chart. Я продолжаю получать следующую ошибку:

"Индекс был вне диапазона. Должен быть неотрицательным и меньше размера коллекции. Имя параметра: индекс"

Вот мой код:

foreach (DataRow drow in objD0s.Tables[0].Rows)// Adding values from a dataset to dictionary    
     {


         string strvalue = Convert.ToString(drow["Chemical Name"]);
         string doublevalue = Convert.ToString(drow["Global Warming"]);
         Cdata.Add(Convert.ToString(strvalue), Convert.ToDouble(doublevalue));

     }
     ColumnSeries colSeries = ChartChemImpact.Series[0] as ColumnSeries;     

         ((ColumnSeries)ChartChemImpact.Series[0]).DataContext = Cdata;
         colSeries.ItemsSource = myDataTable0.DefaultView;
         colSeries.IndependentValueBinding = new Binding("[Chemical Name]");
         colSeries.DependentValueBinding = new Binding("[Global Warming]");

  }

XAM

 chartingToolkit:Chart Name="ChartChemImpact" Title="Chart Title"   Width="384"            Height="280">
   <chartingToolkit:ColumnSeries DependentValuePath="Key"  IndependentValuePath="Value" ItemsSource="{Binding}" Name="colSeries" />
  </chartingToolkit:Chart>

Пожалуйста, помогите: (

1 Ответ

1 голос
/ 17 мая 2011

Хорошо, я нашел ошибку. В xaml есть пути привязки и значения, но они заменяются в коде.

Я бы удалил эти строки, поэтому вот результат:

foreach (DataRow drow in objD0s.Tables[0].Rows)// Adding values from a dataset to dictionary    
{
     string strvalue = Convert.ToString(drow["Chemical Name"]);
     string doublevalue = Convert.ToString(drow["Global Warming"]);
     Cdata.Add(Convert.ToString(strvalue), Convert.ToDouble(doublevalue));
}

((ColumnSeries)ChartChemImpact.Series[0]).DataContext = Cdata;
//And that's the end of the function, no more code
}
...