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

时间:2011-04-22 15:54:29

标签: silverlight silverlight-4.0 mvvm datapager

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

  1. Introducing An MVVM-Friendly DomainDataSource: The DomainCollectionViewupdate post for Mix 11)
  2. Architecting Silverlight LOB applications (Part 6) – Building an MVVM Framework
  3. 现在我使用方法#1但是它有一些问题,例如,我不知道用户何时更改DataPager的页面然后我无法将BusyIndi​​cator IsBusy设置为true。

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

1 个答案:

答案 0 :(得分:0)

正如你在#1中提到的那样,DomainCollectionView就是我找到的方式。

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

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

在DomainCollectionView的设置中,您将创建这样的DomainCollectionViewLoader:

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

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