var target = myGrid.Children
.Cast<UIElement>() // make it into IEnumerable<UIElement>
.OfType<Rectangle>() // and select only Rectangles
.Where(c => Grid.GetRow(c) == 3);
Это будет перечислять дочерние элементы вашей сетки и выбирать только те, которые имеют тип Rectangle
и имеют Grid.Row
== 3. Затем вы можете использовать target.Single()
или target.First()
или любую другую функцию оценки запроса для получить доступ к Rectangle
.
Обновление:
Обновлено с учетом комментария Яна ниже. Очень хорошо сказано, я полностью согласен (не слишком задумывался над исходным примером кода).