7

おそらく非常に簡単ですが、私はこれを理解するのに苦労しています(また、Googleはあまり役に立たないようです)。

StackPanelの静的に宣言された要素(データバインディングなし-要素はxamlで宣言されています)をループするにはどうすればよいですか?

助けていただければ幸いです。

4

2 に答える 2

10

あなたは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
}
于 2009-09-14T10:37:56.213 に答える
0

私の場合、子供が1人いて、そのタイプを知っていたので、ジョンドルとまったく同じように考えました。不必要なループでコードを覆い隠したくありませんでした。これが、ハイパーリンク内のTextBlockに到達した方法です。

        var looper = LogicalTreeHelper.GetChildren(objHyperlink).GetEnumerator();
        looper.MoveNext();
        TextBlock objTextBlock = (looper.Current as InlineUIContainer).Child as TextBlock;
于 2015-09-15T11:01:26.227 に答える