我有一个UniformGrid
,其中Button
的数量为Children
。每个Button
都有一个带有ID的Tag
,例如(静音代码):
MyUniformGrid.Children.Add(new Button {
Margin = new Thickness(5),
Tag = Query.GetUInt32("id"),
Width = 200
});
如何选择ID为87的子Button
对象?(例如)
当我键入MyUniformGrid.Children.
(在添加using System.Linq;
之后)时,Intellisense不会与Linq方法一起弹出。
开始:
var MyButton = MyUniformGrid.Children.
OfType<Button>().
Single(Child => Child.Tag != null && Child.Tag == 87);
Linq不能直接在MyUniformGrid.Children
上运行,因为UIElementCollection
实现的是IEnumerable
,而不是IEnumerable<T>
。因此需要OfType<Button>
。