вот как я это сделал:
1) добавил StackPanel и ДОЛЖЕН добавить атрибут тега name (так как это мастер).
StackPanel Name = "StackPanel1«
2) добавьте столько расширителей, сколько вам нужно (от 1 до 100 при необходимости), каждый из них ДОЛЖЕН иметь: -
Expanded =« Expander_Expanded »
добавлено (обратите внимание, что все они имеют одинаковую формулировку на 100%).
3) никакие другие детали не должны совпадать с каждым (без имен высот и т. Д.).
Xaml:
<StackPanel Name="StackPanel1">
<Expander Header="Expander 1" Expanded="Expander_Expanded">
<TextBlock>Expander 1</TextBlock>
</Expander>
<Expander Header="Expander 2" Expanded="Expander_Expanded">
<TextBlock>Expander 2</TextBlock>
</Expander>
<Expander Header="Expander 3" Expanded="Expander_Expanded" >
<TextBlock>Expander 3</TextBlock>
</Expander>
<Expander Header="Expander 4" Expanded="Expander_Expanded" >
<TextBlock>Expander 4</TextBlock>
</Expander>
4) Для управления открытием / закрытием всех «Расширителей» на названной StackPanel1 «StackPanel» вам нужно добавить приведенный ниже код только один раз.
Код VB:
Private Sub Expander_Expanded(sender As Object, e As RoutedEventArgs)
For Each exp As Expander In StackPanel1.Children
If exp IsNot sender Then
exp.IsExpanded = False
End If
Next
End Sub
5) Теперь вы можете изменять / добавлять контент, кнопки, текстовые поля и т. Д., Которые вам просто не нужно менять, 2 вещи 1, «Имя StackPanel» 2, «Расширитель»Расширено "без обновления кода, иначе все не будет работать.
Надеюсь, эта информация вам пригодится.
Что происходит?
1) All панели являются родителями, и все элементы управления на этой панели являются дочерними,
2) Все элементы управления являются дочерними элементами родительской панели.
3) Класс обрабатывает один вызов за раз.
4) Класс занимается с ребенком.
6) Класс переходит к следующему ребенку.
7) Останавливается, когда всех детей спрашивают.
Итакпсевдокод выглядит следующим образом:
1) Прослушайте ребенка по имени x
2) Спросите каждого ребенка в списке родителей родителей
3) Если ребенок не звонитзатем
4) Расширение ребенка ложно
5) Прекратите спрашивать этого ребенка
6) Перейдите к следующему ребенку и спросите снова
7) Довсех детей спросили