【问题标题】:WPF: Show UserControl before all bound properties are loadedWPF:在加载所有绑定属性之前显示 UserControl
【发布时间】:2009-03-10 01:43:58
【问题描述】:

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

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

我了解这里发生了什么,但我不确定修复它的最佳方法。如何使动画仍然播放并显示第二个用户控件,但帐户列表在加载时出现?我知道我将需要异步加载列表视图,并且为此使用 BackgroundWorker 没有问题,但我不确定这种加载会发生在哪里。

帐户列表是一个 ObservableCollection,并且客户端对象实现了 INotifyPropertyChanged,但是没有为帐户属性调用 PropertyChanged,因为它没有设置器。

【问题讨论】:

    标签: .net wpf data-binding xaml


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您可以尝试在绑定上设置 IsAsync=true,例如:{Binding Path=Accouns, IsAsync=true}

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-08-31
        • 2018-04-26
        • 1970-01-01
        • 2012-05-23
        • 1970-01-01
        • 1970-01-01
        • 2011-06-22
        相关资源
        最近更新 更多