WPF StackPanel静的アイテムをループする方法は?
-
07-07-2019 - |
質問
おそらく非常に簡単ですが、これを理解するのに苦労しています(また、Googleはあまり役に立たないようです)。
StackPanelの静的に宣言された要素(データバインディングなし-要素はxamlで宣言されています)をループするにはどうすればよいですか?
ご協力ありがとうございます
解決
StackPanel
の子を意味しますか?
foreach (var child in stackPanel.Children)
{
//do something with child
}
親に関係なく機能するより一般的なソリューションは、トラバースするWPFツリーに応じて、 LogicalTreeHelper
または VisualTreeHelper
を使用することです。
foreach (var child in LogicalTreeHelper.GetChildren(stackPanel))
{
//do something with child
}
他のヒント
Johnldolと同じだと思ったのは、私の場合は1人の子供がいて、そのタイプを知っていたからです。不必要なループでコードを不明瞭にしたくありませんでした。これが、ハイパーリンク内のTextBlockに到達した方法です。
var looper = LogicalTreeHelper.GetChildren(objHyperlink).GetEnumerator();
looper.MoveNext();
TextBlock objTextBlock = (looper.Current as InlineUIContainer).Child as TextBlock;
所属していません StackOverflow