here i want to validate few textboxes by Element Finding on button Click event
private void button1_Click(object sender, RoutedEventArgs e)
{
var button = (Button) sender;
// button Parent
var stackPanel = button.Parent as StackPanel;
// button Parent > parent
var parentStackPanel = stackPanel.Parent as StackPanel;
// button Parent > parent > Children
var childStackPanel = parentStackPanel.Children.Where(a => a is StackPanel).FirstOrDefault() as StackPanel;
// button Parent > parent > Children >Elements
var textBox = childStackPanel.Children.Where(a => a is TextBox).FirstOrDefault() as TextBox;
var image = childStackPanel.Children.Where(a => a is Image).FirstOrDefault() as Image;
if (textBox.Text == "") image.Source = new BitmapImage(new Uri("/Images/Others/TickWrong.png", UriKind.RelativeOrAbsolute));
}
the problem is I only able to find First element due to FirstOrDefault()
var childStackPanel = parentStackPanel.Children.Where(a => a is StackPanel).FirstOrDefault() as StackPanel;
is there any possible way to find all the elements .
by Array or something??
Remove FirstOrDefault.
This will return an
IEnumerable<T>which you can iterate upon.To get a list you can use
ToList()extension method ofIEnumerable<T>