2011-04-22 4 views
2

MVVM에서 DataPager를 사용하고 싶지만 쉽지 않습니다. 인터넷에서 검색 한 후 Silverlight에서 MVP와 함께 DataPager를 사용하는 두 가지 방법이 있습니다. 지금은 방법 # 1을 사용하지만 몇 가지 문제가 Silverlight 4에서 MVVM DataPager를 만드는 좋은 방법은 무엇입니까?

  • Architecting Silverlight LOB applications (Part 6) – Building an MVVM Framework
    1. Introducing An MVVM-Friendly DomainDataSource: The DomainCollectionView (믹스 11 update post)는, 예를 들어, 내가 모를 때 사용자 변화있는 DataPager의 페이지 BusyIndicator IsBusy를 true로 설정할 수는 없습니다.

      DataPager에서 MVVM을 사용하는 좋은 방법은 무엇입니까?

    +1

    DataPager의 DataSource가 DomainDataSource의 데이터에 바인딩되어 있습니까? 그런 다음 BusyIndicator의 IsBusy를 DomainDataSource의 IsBusy에 바인딩하면 작동합니까? –

    답변

    0

    # 1에서 언급했듯이 DomainCollectionView는 내가 찾은 방법입니다.

    DataPager는 DomainCollectionView에 바인딩되어 있으므로 호출기의 모든 사용자 명령이 전달됩니다. 이것은 DomainCollectionView가 구현하는 인터페이스, 특히 DataPager가 처리하는 방법을 알고있는 IPagedCollectionView를 통해 수행됩니다.

    DataPager에 새 페이지가 필요할 때마다 DomainCollectionView가 업데이트되어 DomainCollectionViewLoader에로드 기능이 호출됩니다. 당신이 링크 한 기사는 이것을 모두 얻는 사례를 제공합니다.

    DomainCollectionView의 설정에서 어떤 장소, 당신은이처럼 DomainCollectionViewLoader 뭔가 만들 것입니다 : 당신의 기능 LoadCustomers에서

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

    (), 당신의 BusyIndicator을 보여주는 시작과) (OnLoadCusomtersCompleted 때 당한다 , 당신은 그것을 멈출 수 있습니다.

    관련 문제