如何从 属性 = 某个值的 UIElementCollection 中 select child?
How to select a child from an UIElementCollection where a property = some value?
我有一个 UniformGrid
,其中有 Button
个 Children
。每个 Button
都有一个带有 ID 的 Tag
,例如(简化代码):
MyUniformGrid.Children.Add(new Button {
Margin = new Thickness(5),
Tag = Query.GetUInt32("id"),
Width = 200
});
如何select ID为87的child Button
object? (例如)
当我键入 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
implements IEnumerable
, not IEnumerable<T>
。因此需要OfType<Button>
。
我有一个 UniformGrid
,其中有 Button
个 Children
。每个 Button
都有一个带有 ID 的 Tag
,例如(简化代码):
MyUniformGrid.Children.Add(new Button {
Margin = new Thickness(5),
Tag = Query.GetUInt32("id"),
Width = 200
});
如何select ID为87的child Button
object? (例如)
当我键入 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
implements IEnumerable
, not IEnumerable<T>
。因此需要OfType<Button>
。