J'ai un StackPanel
avec quelques WrapPanel
. l'intérieur de chaque WrapPanel
situé deux éléments:Obtenir des enfants UIElement de plusieurs parents
<StackPanel FlowDirection="RightToLeft" Grid.Column="2" Grid.Row="1" Name="check_boxes_layout">
<WrapPanel>
<CheckBox Name="chk1" Checked="Checked_Changed" Unchecked="Unchecked"></CheckBox>
<Rectangle Width="50" Fill="Red" Name="rec1" Margin="10 2 2 2"/>
</WrapPanel>
<WrapPanel>
<CheckBox Name="chk12" Checked="Checked_Changed" Unchecked="Unchecked"></CheckBox>
<Rectangle Width="50" Fill="Blue" Name="rec2" Margin="10 2 2 2"/>
</WrapPanel>
<StackPanel/>
Je veux que tous les enfants de case à cocher de type .Comment puis-je faire cela?
foreach (var item in check_boxes_layout.Children.OfType<CheckBox>())
{
//this code just return Wrap Panel
}
Merci d'avance.
Que faire si vous avez un autre 'Panel' ou' Grid' dans le 'WrapPanel'? Ma réponse gère n'importe quel niveau d'imbrication. –
@ MD.Unicorn: je sais que votre réponse est plus complète merci. – KF2
@ MD.Unicorn, cette réponse (OP) répond à la question * current * de l'OP. Néanmoins, ce n'est pas une très bonne solution car cela dépend de la mise en page actuelle: elle échouera si de nouveaux panneaux sont introduits. Autrement dit, ce n'est pas à l'épreuve du futur. –