8

I have a UniformGrid with a number of Button's as Children. Each Button has a Tag with an ID, e.g. (dumbed down code):

MyUniformGrid.Children.Add(new Button {
    Margin  = new Thickness(5),
    Tag     = Query.GetUInt32("id"),
    Width   = 200
});

How can I select the child Button object with an ID of 87? (as a for instance)

Intellisense isn't popping up with the Linq methods when I type MyUniformGrid.Children. (after adding using System.Linq;).

4

1 回答 1

14

Here you go:

var MyButton = MyUniformGrid.Children.
               OfType<Button>().
               Single(Child => Child.Tag != null && Child.Tag == 87);

Linq can't be run directly on MyUniformGrid.Children since UIElementCollection implements IEnumerable, not IEnumerable<T>. Therefore OfType<Button> is required.

于 2015-04-02T05:09:13.710 回答