WPF动态加载和绑定

时间:2018-10-26 04:09:50

标签: wpf data-binding

我为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的触发器,但不确定如何触发和返回要在扩展器主体内的控件中绑定的数据

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

做到这一点的方法是:

  1. 创建一个类,可以说ExpanderRowModel

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

  3. 在ViewModel中创建一个属性,该属性返回ExpanderRowModel的集合

  4. 将该集合绑定到您喜欢的ListView或其他ItemsControl中。