おそらく非常に簡単ですが、私はこれを把握するのに問題があります(Googleもあまり役に立たないようです)。WPF StackPanel静的アイテムをループする方法は?
StackPanelの静的に宣言された要素(データ結合なし - 要素はxamlで宣言されています)をループする方法はありますか?
おそらく非常に簡単ですが、私はこれを把握するのに問題があります(Googleもあまり役に立たないようです)。WPF StackPanel静的アイテムをループする方法は?
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;
ありがとうございます - あなた自身が答えを見つけました。 私は "Items"を探していたので、それを見つけることができませんでした! – JohnIdol
Kentは100%正確ですが、コードビハインドでXAMLオブジェクトを直接編集している場合は、データバインディングを使用していない可能性が高い場合があります。必ずしもそうではありません:) –