Laden...

Wie Auflistung von Controls auf Window

Erstellt von Jack2000 vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.259 Views
J
Jack2000 Themenstarter:in
43 Beiträge seit 2008
vor 15 Jahren
Wie Auflistung von Controls auf Window

Hallo

Wie erhalte ich eine Auflistung aller auf dem Window oder UserControl enthaltenen Steuerelemente?

Beispiel:

<Grid Name="GridMain">
<Button Name="Button1">Button</Button>
<Expander Header="Expander" IsExpanded="True" Name="Expander1" >
<Button Name="Button2">Button</Button>
</Expander>
</Grid>

Über Me.GridMain.Children erhalte ich nur Button1 und Expander1. Allerdings müsste ich das jeweilige Child noch casten, was schlecht ist.

Über Me erhalte ich zwar Zugriff auf die einzelnen Controls (Me.Button1, Me.Button2, Me.Expander1), aber wie kann ich, ohne deren Name zu kennen, an jene heran kommen?

F
722 Beiträge seit 2005
vor 15 Jahren

Schau dir mal die Klasse VisualTreeHelper an.

S
260 Beiträge seit 2007
vor 15 Jahren

Wie feadur schon sagte, entweder mit dem VisualTreeHelper oder aber z.B. so:


string[] contr = new string[10];
int i = 0;
foreach (UIElement example in LayoutRoot.Children)
{
    contr[i] = example.ToString();
    i++;
}

LayoutRoot ist bei mir das äußerste Control(Grid).

Gruß
Michael