У меня есть StackPanel
с некоторыми WrapPanel
. внутри каждого WrapPanel
расположены два элемента:Получить детей UIElement от нескольких родителей
<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/>
Я хочу, чтобы все дети флажком типа .как я могу это сделать?
foreach (var item in check_boxes_layout.Children.OfType<CheckBox>())
{
//this code just return Wrap Panel
}
Thank You in Advance.
Что делать, если у вас есть другой 'Panel' или' Grid' внутри 'WrapPanel'? Мой ответ обрабатывает любой уровень гнездования. –
@ MD.Unicorn: Я знаю, что ваш ответ более завершен. – KF2
@ MD.Unicorn, этот (OP) ответ ответ на OP * текущий * вопрос. Тем не менее это не очень хорошее решение, потому что оно зависит от текущего макета: он будет терпеть неудачу, если будут введены новые панели. То есть, это не будущее. –