代码之家  ›  专栏  ›  技术社区  ›  Ray

wpf:在加载所有绑定属性之前显示usercontrol

  •  0
  • Ray  · 技术社区  · 16 年前

    我有一个用户控件,它有一个显示客户端对象列表的列表视图。双击其中一行将播放动画并转换到另一个显示该客户端帐户列表的用户控件。

    第二个用户控件绑定到客户端对象的Accounts属性。第一次访问属性时加载帐户列表。如果帐户列表很小,这一切都很好。如果帐户列表很大,则在双击和显示帐户列表之间会有非常明显的延迟。动画根本不播放。

    我知道这里发生了什么,但我不知道最好的解决办法。我怎样才能使动画仍然播放,并且显示第二个用户控件,但是帐户列表在加载时出现?我知道我需要异步加载列表视图,使用backgroundworker进行加载没有问题,但我不确定加载会在哪里发生。

    帐户列表是一个可观察的集合,客户端对象实现了inotifypropertychanged,但是没有为accounts属性调用propertychanged,因为它没有setter。

    2 回复  |  直到 16 年前
        1
  •  1
  •   MrTelly    16 年前

    我认为您需要查看wpf中的虚拟化控件-这些控件只显示所需的内容,而不是整个列表,因此比标准的listview快得多。

        2
  •  1
  •   Nir    16 年前

    您可以尝试在绑定上设置isasync=true,例如:{binding path=acouns,isasync=true}