这可能很简单,但我还是有些困惑(Google似乎也没有提供太多帮助)。
我如何循环遍历StackPanel中静态声明的元素(没有数据绑定 - 元素在xaml中声明)?
感谢任何帮助!
这可能很简单,但我还是有些困惑(Google似乎也没有提供太多帮助)。
我如何循环遍历StackPanel中静态声明的元素(没有数据绑定 - 元素在xaml中声明)?
感谢任何帮助!
StackPanel
的子元素吗?foreach (var child in stackPanel.Children)
{
//do something with child
}
一个更通用的解决方案,不管父级是什么,可以使用LogicalTreeHelper
或VisualTreeHelper
,具体取决于您希望遍历哪个WPF树:
foreach (var child in LogicalTreeHelper.GetChildren(stackPanel))
{
//do something with child
}
我和Johnldol想的一样,因为在我的情况下,我只有一个子元素,并且知道它的类型;我不想通过不必要的循环来使代码变得复杂。因此,这就是我如何访问超链接中的TextBlock:
var looper = LogicalTreeHelper.GetChildren(objHyperlink).GetEnumerator();
looper.MoveNext();
TextBlock objTextBlock = (looper.Current as InlineUIContainer).Child as TextBlock;