Вы можете использовать as
оператор
ch = Grid.Children[i] as CartesianChart;
или приведение оператор
ch = (CartesianChart)Grid.Children[i];
Основное различие между ними объясняется здесь
Я бы рекомендовал использовать первый подход. Это может выглядеть как
CartesianChart ch = null; // this lets avoid a compiler warning about using uninitialized vars
for (int i = 0; i < Grid.Children.Count; i++)
{
ch = Grid.Children[i] as CartesianChart;
if (ch != null)
{
break;
}
}
if (ch != null)
{
ch.Name = "Chart";
ch.Margin = new Thickness(0, 0, 250, 125);
ch.Series = new SeriesCollection ...
}
Пожалуйста, примите во внимание, что этот код найдет первый CartesianChart
в сетке (если у вас может быть несколько, вы должны выполнить дополнительные проверки).