2011-04-22 43 views
2

我想用DataPager和MVVM,但这并不容易。在Internet上搜索后,Silverlight中有两种使用DataPager和MVVM的方法。在Silverlight 4中创建MVVM DataPager的好方法是什么?

  1. Introducing An MVVM-Friendly DomainDataSource: The DomainCollectionViewupdate post的混合11)
  2. Architecting Silverlight LOB applications (Part 6) – Building an MVVM Framework

现在我使用方法#1,但也存在一些问题吧,例如,我不知道什么时候用户改变DataPager的的页面那么我不能将BusyIndi​​cator IsBusy设置为true。

我想知道,什么是使用MVVM和DataPager的好方法?

+1

DataPager的DataSource是否与DomainDataSource的数据绑定?那么如果你将你的BusyIndi​​cator的IsBusy绑定到你的DomainDataSource的IsBusy,它会工作吗? – 2011-04-22 22:57:11

回答

0

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

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

无论何时DataPager需要一个新页面,它将更新DomainCollectionView,它将依次调用您在DomainCollectionViewLoader上设置的加载函数。你链接的文章给出了所有设置的例子。

在DomainCollectionView的设置一些地方,您将创建DomainCollectionViewLoader是这样的:

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

在你的函数LoadCustomers(),你就可以开始显示BusyIndi​​cator控件,并OnLoadCusomtersCompleted()时被打,你可以阻止它。

相关问题