WPF 动态加载和绑定



我在WPF MVVM应用程序中为屏幕提出了一个很棒的设计,现在在实现它时遇到了很多问题。

所以我有一个屏幕,我想显示一个大的数据绑定行列表。 数据以异步方式返回。
每行包含一个扩展器,因此看起来像

+ expander 1
+ expander 2
+ expander 3
+ expander 4

当用户向下滚动列表时,可以很好地加载新行。

现在对于部分,我不能做,当用户展开项目时,我想动态加载要在行的展开部分中显示的数据。

+ expander 1
<StackPanel>
<TextBlock/>
<TextBlock/>
<DataGrid/>
</StackPanel>
+ expander 2
+ expander 3
+ expander 4

所以展开的数据是显示更多的文本和子行

所以想到了 IsExpanded 的触发器,但不确定如何触发和返回要绑定在扩展器主体内的控件中的数据

有什么想法吗?

所以这样做的方法是:

  1. 创建一个类,比如说 ExpanderRowModel

  2. 为该类创建一个 DataTemplate,该模板显示扩展器(默认情况下是关闭的(,打开它时所有数据都在里面,绑定到相应的 ExpanderRowModel。

  3. 在视图模型中创建一个属性,该属性返回 ExpanderRowModel 的集合

  4. 将该集合绑定到列表视图或你喜欢的其他项控件中。

最新更新