经过大量搜索后,我想出了这段代码来扩展我的扩展器代码: 我是XAML / WPF的新手,所以我很有可能以更好的方式做到这一点,但经过大量的搜索,我很高兴我得到了它(但还没有完成)
XAML: 将其添加到“标题”
xmlns:System="clr-namespace:System;assembly=mscorlib"
然后将其添加到Window.Recources
<System:Boolean x:Key="booexapnders">False
</System:Boolean>
这是扩展器的一部分(扩展器是在Listview中的数据模板中制作的)
<ListView x:Name="lsvteamleft" SelectionChanged="lsvleft_SelectionChanged" GotFocus="lsv_GotFocus" ScrollViewer.VerticalScrollBarVisibility="Visible">
<ListView.ItemTemplate>
<DataTemplate>
<Expander Header="{Binding}" Margin="0,0,0,2" IsExpanded="{DynamicResource booexapnders}" >
<Expander.HeaderTemplate>
我可以在此列表视图中添加多个项目,因此可以创建多个扩展程序。 在c#中我使用代码:
this.Resources["booexapnders"] = true; // to expand all the expanders
this.Resources["booexapnders"] = false; // to colapse all the expanders
现在的问题是,例如。我在listview中有5个项目,我希望看到1的扩展版本,我用一个按钮将它们全部折叠(这个工作)并且在listview中手动扩展我想要的那个(扩展以查看更多信息),但是在我之后这样做我刚刚手动扩展的那个就不再对“全部展开”或“全部折叠”按钮作出反应。
提前谢谢。
答案 0 :(得分:0)
您应该将IsExpanded
绑定到项目上的属性,然后展开或折叠所有遍历集合的所有内容并更改所有项目的值,以更改为该单个项目执行的操作,更多的控制。