如何遍历stackpanel中的所有文本块

本文关键字:文本 stackpanel 何遍历 遍历 | 更新日期: 2023-09-27 17:49:15

我有一个stackpanel,它在运行时动态地添加了许多文本块。什么是最好的方法来改变字体颜色(红色)的文本块,我点击,同时确保所有其他的都保持(或返回)默认白色。

我已经有了ontapped处理程序,它可以很好地改变颜色,但是当我点击一个不同的/秒文本块时,问题就出现了——因为初始文本块不会变回白色。我想我要找的是这样的东西:

foreach (TextBlock tbl in MyStackPanel)
    {
        // change all text to white
    }
      // Get the tapped one and change it to red

然而,你不能遍历stackpanel的子节点,因为编译器不允许你这样做。有更好的方法吗?

如何遍历stackpanel中的所有文本块

有一个可以迭代的Children属性

foreach (var tb in MyStackPanel.Children.OfType<TextBlock>())
    tb.Foreground = Brushes.White;