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;).

Danny Beckett
  • 20,529
  • 24
  • 107
  • 134

1 Answers1

15

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.

Danny Beckett
  • 20,529
  • 24
  • 107
  • 134