gpt4 book ai didi

c# - 如何在 Silverlight 中找到父级的每个元素

转载 作者:行者123 更新时间:2023-11-30 18:01:56 24 4
gpt4 key购买 nike

这里我想通过按钮点击事件中的元素查找来验证一些文本框

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

}

问题是由于 FirstOrDefault() 我只能找到第一个元素

var childStackPanel = parentStackPanel.Children.Where(a => a is StackPanel).FirstOrDefault() as StackPanel;

有没有可能找到所有元素的方法。通过数组之类的??

最佳答案

删除 FirstOrDefault。

var childStackPanels = parentStackPanel.Children.Where(a => a is StackPanel);

这将返回 IEnumerable<T>您可以对其进行迭代。

要获取列表,您可以使用 ToList() IEnumerable<T>的扩展方法

关于c# - 如何在 Silverlight 中找到父级的每个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8571665/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com