2009-02-16 7 views
1

J'ai un UserControl dans WPF avec de nombreux contrôles enfants que je voudrais indexer comme un tableau. Ces contrôles enfants sont dans la même grille de contrôle que d'autres contrôles enfants que je ne suis pas intéressé parMeilleure façon de stocker plusieurs contrôles dans un tableau

Je voudrais être en mesure d'indexer ces contrôles de manière similaire à:.

someControl.Children[3]; 

Avec des ayant pour éviter les contrôles que je ne suis pas intéressé par Voici un échantillon de ce que j'ai.

<Grid x:Name="gCalendar"> 
    // more crap here... 

    <TextBlock Grid.Row="0" Grid.Column="7" TextBlock.TextAlignment="Center">Blah</TextBlock> 


    <Internal:DayCalendarTime Grid.Row="1" Grid.Column="0" /> 
    <Internal:DayCalendarCore Grid.Row="1" Grid.Column="1"/> 
    <Internal:DayCalendarCore Grid.Row="1" Grid.Column="2"/> 
    <Internal:DayCalendarCore Grid.Row="1" Grid.Column="3"/> 
    <Internal:DayCalendarCore Grid.Row="1" Grid.Column="4" /> 
    <Internal:DayCalendarCore Grid.Row="1" Grid.Column="5"/> 
    <Internal:DayCalendarCore Grid.Row="1" Grid.Column="6"/> 
    <Internal:DayCalendarCore Grid.Row="1" Grid.Column="7"/> 
</Grid> 

je voudrais avoir un tableau contenant juste le interne: les contrôles de DayTimeCore en mettant une sorte d'emballage de contrôle autour d'eux .

Est-ce possible, ou devrais-je manuellement faire le tableau en faisant une boucle sur tous les enfants de la grille et en ajoutant ceux qui sont du type qui m'intéresse?

Répondre

1

Une autre façon non-WPF, Créer un code derrière la collection de contrôle par

foreach(DayCalendarTime control in gCalendar.Children) 
{ 
    controlCollection[i++] = control; 
} 
1

Vous pouvez envelopper ces contrôles dans un autre contrôle Grid

+0

Il n'y a rien de plus léger? –

Questions connexes