我为WPF MVVM应用程序中的屏幕设计了一个奇妙的设计,现在在实现它方面存在很多问题。
所以我有一个屏幕,我想显示一大堆数据绑定行。
数据异步返回。
每行都包含一个扩展器,因此看起来像
+ expander 1
+ expander 2
+ expander 3
+ expander 4
当用户向下滚动列表时,Works会很好地加载新行。
现在,当用户扩展项目时,我无法执行该操作,我想动态加载要在行的扩展部分中显示的数据。
+ expander 1
<StackPanel>
<TextBlock/>
<TextBlock/>
<DataGrid/>
</StackPanel>
+ expander 2
+ expander 3
+ expander 4
所以扩展后的数据将显示更多的文本和子行
因此想到了IsExpanded的触发器,但不确定如何触发和返回要在扩展器主体内的控件中绑定的数据
有什么想法吗?
答案 0 :(得分:0)
做到这一点的方法是:
创建一个类,可以说ExpanderRowModel
为该类创建一个数据模板,以显示默认情况下关闭的扩展器,并在打开时将所有数据绑定到相应的ExpanderRowModel。
在ViewModel中创建一个属性,该属性返回ExpanderRowModel的集合
将该集合绑定到您喜欢的ListView或其他ItemsControl中。