Мое мнение работает так. У меня есть Observable Collection, которая содержит объекты, помещенные в список. Нажимая на любой элемент, я могу открыть расширитель, связанный с этим элементом. Вот вопрос: Как я могу свернуть (закрыть) ранее открытый расширитель при открытии другого? Я не хочу иметь ситуацию, когда одновременно открываются несколько расширителей.Свернуть раскрывающиеся расширители в `Datatemplate`, когда мы открываем новый
Моего WPF код выглядит следующим образом:
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<controls:Pivot>
<controls:PivotItem>
<ListBox x:Name="PizzaList" SelectionChanged="PizzaList_SelectionChanged" IsSynchronizedWithCurrentItem="false" >
<ListBox.ItemTemplate>
<DataTemplate x:Name="template">
<toolkit:ExpanderView Header="{Binding Name}" x:Name="expander" Style="{StaticResource ExpanderViewStyle}">
<toolkit:ExpanderView.Items>
<!--first stack panel would contain all elements which would be showed
after clicking on listbox item-->
<StackPanel Margin="20,0,0,0" Orientation="Vertical">
<!-- here is content of expander-->
</StackPanel>
</toolkit:ExpanderView.Items>
<toolkit:ExpanderView.Expander>
<TextBlock Text="{Binding Name_of_ingredients}" Width="500"></TextBlock>
</toolkit:ExpanderView.Expander>
</toolkit:ExpanderView>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</controls:PivotItem>
</controls:Pivot>
</Grid>
Я мог бы иметь статическое количество расширителей, если бы я работал с фиксированным набором данными, но когда расширитель находится в шаблоне данных, количество элементов может изменение. Я не знаю, как это решить.
работает так хорошо, ТНХ много – MyWay