Как получить контроль от Grid.Row во время выполнения? - PullRequest
0 голосов
/ 28 ноября 2010

У меня есть Grid с 3 Rectangle с. Мне нужно получить ссылку на прямоугольник, который имеет Grid.Row == 3 во время выполнения.

Как мне получить к нему доступ?

Спасибо

1 Ответ

5 голосов
/ 28 ноября 2010
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.

Обновление:

Обновлено с учетом комментария Яна ниже. Очень хорошо сказано, я полностью согласен (не слишком задумывался над исходным примером кода).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...