silverlight - 在 Silverlight 4 中创建 MVVM DataPager 的好方法是什么?

标签 silverlight silverlight-4.0 mvvm datapager

我想将 DataPager 与 MVVM 一起使用,但这并不容易。在互联网上搜索后,有两种方法可以在 Silverlight 中使用 DataPager 和 MVVM。

  • Introducing An MVVM-Friendly DomainDataSource: The DomainCollectionView (update post 用于混合 11)
  • Architecting Silverlight LOB applications (Part 6) – Building an MVVM Framework

  • 现在我使用方法#1,但它存在一些问题,例如,我不知道用户何时更改 DataPager 的页面,然后我无法将 BusyIndi​​cator IsBusy 设置为 true。

    我想知道,将 MVVM 与 DataPager 一起使用的好方法是什么?

    最佳答案

    正如您在 #1 中提到的,DomainCollectionView 是我找到的方式。

    DataPager 绑定(bind)到您的 DomainCollectionView,因此所有用户在寻呼机上的命令都会被传递。这是通过 DomainCollectionView 实现的接口(interface)完成的,特别是 IPagedCollectionView,DataPager 知道如何处理。

    每当 DataPager 需要一个新页面时,它都会更新 DomainCollectionView,这又会调用您在 DomainCollectionViewLoader 上设置的加载函数。您链接的文章提供了所有设置的示例。

    在 DomainCollectionView 的设置中的某个地方,您将创建您的 DomainCollectionViewLoader,如下所示:

    ... = new DomainCollectionViewLoader<Customer>(LoadCustomers, OnLoadCustomersCompleted);
    

    在您的函数 LoadCustomers() 中,您可以开始显示 BusyIndi​​cator,当 OnLoadCusomtersCompleted() 被命中时,您可以停止它。

    关于silverlight - 在 Silverlight 4 中创建 MVVM DataPager 的好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5757257/

    相关文章:

    c# - 添加导航 :Frame causes NullReferenceException

    c# - 动态裁剪 BitmapImage 对象

    wpf - 如何保留 TabControl 中选项卡项内的控件状态

    c# - 我应该如何在线程之间同步?

    c# - DateTime类常见错误再次显示

    windows - 在 Silverlight 中获取当前 Windows 用户名

    c#-4.0 - RIA 服务 "code generator encoutered a fatal exception"的奇怪错误

    c# - 了解 Action 和UriQuery

    c# - 接口(interface) IDataErrorInfo 不起作用

    Silverlight 4,浏览器外,打印,自动更新