7

可能很容易,但我很难弄清楚(谷歌似乎也没有多大帮助)。

如何遍历 StackPanel 的静态声明的元素(无数据绑定 - 元素在 xaml 中声明)?

任何帮助表示赞赏!

4

2 回答 2

10

你说的StackPanel是孩子们吗?

foreach (var child in stackPanel.Children)
{
    //do something with child
}

无论父级如何,一个更通用的解决方案是使用LogicalTreeHelperor VisualTreeHelper,具体取决于您希望遍历的 WPF 树:

foreach (var child in LogicalTreeHelper.GetChildren(stackPanel))
{
    //do something with child
}
于 2009-09-14T10:37:56.213 回答
0

我的想法和约翰多尔一样,因为在我的情况下,我有一个孩子,而且我知道它的类型;我不想通过不必要的循环来掩盖我的代码。所以这就是我到达超链接内的 TextBlock 的方式:

        var looper = LogicalTreeHelper.GetChildren(objHyperlink).GetEnumerator();
        looper.MoveNext();
        TextBlock objTextBlock = (looper.Current as InlineUIContainer).Child as TextBlock;
于 2015-09-15T11:01:26.227 回答