2011-04-22 70 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()時被打,你可以阻止它。

相關問題