【发布时间】:2010-11-28 02:11:39
【问题描述】:
可能很容易,但我很难弄清楚(谷歌似乎也没有多大帮助)。
如何遍历 StackPanel 的静态声明元素(无数据绑定 - 元素在 xaml 中声明)?
任何帮助表示赞赏!
【问题讨论】:
标签: wpf elements stackpanel loops
可能很容易,但我很难弄清楚(谷歌似乎也没有多大帮助)。
如何遍历 StackPanel 的静态声明元素(无数据绑定 - 元素在 xaml 中声明)?
任何帮助表示赞赏!
【问题讨论】:
标签: wpf elements stackpanel loops
您是指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;
【讨论】: