2011-08-04 5 views
1

WCFサービスでMMVMを実装するとよい習慣は何ですか? Viewモデルはサービスと通信します。だから私は3-4データ表示モジュールを持っているビューで言うことができます。モジュールに関するこのすべての情報は、異なるWCFサービス呼び出しからのものです。 これを同期して実行すると、ビューモデルのデータが読み込まれるまでに時間がかかります。WCFを非同期で使用するMMVMライト

私は戻ってくる最初の呼び出しを待っているうちに非同期で、これらすべてのサービスメソッドの呼び出しを行いたいです。これを行う良い方法は何ですか?

class TestViewModel : ViewModelBase 
{ 
    private ObservableCollection<string> data; 

    public ObservableCollection<string> Data 
    { 
     get { return data; } 
     set 
     { 
      if (value == data) return; 
      data = value; 
      RaisePropertyChanged("Data"); 
     } 
    } 

    public TestViewModel() 
    { 
     GetDataClient proxy = new GetDataClient(); 

     System.EventHandler<GetDataCompletedEventArgs> Client_GetDataCompleted = null; 
     Client_GetDataCompleted = (s, e) => 
     { 
      if (e.Error == null && e.Result != null) 
      { 
       Data = new ObservableCollection<SelectionItem<string>>(e.Result));      
      } 

      proxy.GetDataCompleted -= Client_GetDataCompleted; 
     }; 

     proxy.GetDataCompleted += Client_GetDataCompleted;    
     proxy.GetDataAsync();    
    } 
} 

答えて

1

私は最善の方法は、非同期サービスを呼び出した後、同様に、完全な方法で値を割り当てることだと思います
関連する問題