经过大量搜索后,我想出了这段代码来按代码扩展我的扩展器:我是 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
现在的问题是,例如。我在列表视图中有 5 个项目,我想查看 1 的扩展版本,我用一个按钮将它们全部折叠(这可行)并在列表视图中手动展开我想要的项目(展开以查看更多信息),但是在我之后我刚刚手动展开的那个不会对“全部展开”或“全部折叠”按钮做出反应。
先感谢您。