Wie eine Schleife durch WPF Stackpanel statische Objekte?
-
07-07-2019 - |
Frage
Wahrscheinlich sehr einfach, aber Ich habe Probleme, um dies herauszufinden (auch Google scheint nicht viel zu helfen).
Wie kann ich eine Schleife durch die statisch deklarierten Elemente (keine Datenbindung - Elemente sind in der XAML deklarieren)? Einen Stackpanel
Jede Hilfe willkommen!
Lösung
Sie meinen die Kinder des StackPanel
?
foreach (var child in stackPanel.Children)
{
//do something with child
}
Eine generische Lösung, die unabhängig von der Mutter funktionieren würde wäre LogicalTreeHelper
oder VisualTreeHelper
zu verwenden, je nachdem, was WPF Baum Sie durchqueren wollen:
foreach (var child in LogicalTreeHelper.GetChildren(stackPanel))
{
//do something with child
}
Andere Tipps
Ich dachte nur, das gleiche wie Johnldol, da in meinem Fall habe ich ein Kind hatte, und ich wusste, dass seine Art; Ich wollte nicht meinen Code durch eine unnötige Schleife verschleiern. Das ist also, wie ich den Textblock in der Hyperlink erreicht:
var looper = LogicalTreeHelper.GetChildren(objHyperlink).GetEnumerator();
looper.MoveNext();
TextBlock objTextBlock = (looper.Current as InlineUIContainer).Child as TextBlock;