我有一个Grid
,里面有3 Rectangle
个。我需要在运行时获得对Grid.Row == 3
的矩形的引用。
我如何才能访问它?
由于
答案 0 :(得分:5)
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()
或{{1}或任何其他查询评估函数来访问target.First()
。
<强>更新强>
更新以解决以下Ian的评论。很好地说,我完全同意(没有过多考虑原始的示例代码)。