質問

おそらく非常に簡単ですが、これを理解するのに苦労しています(また、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;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top