我有一个包含一组“Expander”项目的ListBox,我想做的是使每个项目的IsExpanded
属性都是独占的。例如,如果我在ListBox
中有10个扩展器,我希望一次只打开一个。
以下是我到目前为止所做的:
<Window>
<Window.Resources>
<DataTemplate x:Key="NormalTemplate">
<Expander Margin="0" IsExpanded="True" Header="{Binding Model.Name}" Background="Green">
<Grid>
<StackPanel HorizontalAlignment="Stretch">
<TextBlock Text="{Binding Model.Description}" TextWrapping="Wrap" HorizontalAlignment="Stretch" Margin="0"/>
</StackPanel>
</Grid>
</Expander>
</DataTemplate>
</Window.Resources>
<Grid>
<ListBox ItemsSource="{Binding Groups}"
ItemTemplate="{DynamicResource NormalTemplate}"
/>
</Grid>
</Window>
有什么办法可以做到这一点吗?我没有绑定到ListBox
或扩展器,见鬼-如果需要更改,我没有绑定到任何扩展器。
3条答案
按热度按时间nhhxz33t1#
什么决定
Expander
是否扩展?如果是selection,你可以将IsExpanded
属性绑定到ListBoxItem
的IsSelected
属性:toiithl62#
这个Accordian contro l可能是你正在寻找的
t3psigkw3#
由于肯特·布加特的回答对我不起作用,我这样做了:
注意:我使用XAML材料设计,也许这是它不工作的原因