2017-06-05 3 views
0

リストビューとISingleOperationを使用してデータをリフレッシュするフォームを作成しました。リストビューのリフレッシュコマンドがバインドされたIRelayCommandで機能しない

次にViewModelでコマンドを作成しました。

public IRelayCommand LoadInvoicesCommand 
    { 
     get 
     { 
      return GetCommand(() => Execution.ViewModelExecute(new LoadInvoicesOperation(_model), 10000)); 
     } 
    } 

ISingleOperationは

new Result() { ResultAction = ResultType.None }; 

リフレッシュ動作も

RefreshCommand="{Binding LoadInvoicesCommand}" 

を結合したが指標 "ハング" をリフレッシュしdisapearingない、ここで何が間違っているされてうまく機能して返しますか?

+0

LisviewのXAMLを投稿できますか? – apineda

答えて

2

IsRefreshingというListViewの2つ目のプロパティをViewModelにバインドする必要があります。これはブール値のプロパティで、リフレッシュが開始/完了したことをListViewに伝える責任を負うものです。

ListViewのXAML

<ListView 
    VerticalOptions="FillAndExpand" 
    IsPullToRefreshEnabled="true" 
    RefreshCommand="{Binding LoadInvoicesCommand}" 
    IsRefreshing="{Binding IsRefreshing, Mode=OneWay}" 
    ItemsSource="{Binding YourItemSource}" 
    ItemTemplate="{StaticResource ItemTemplate" /> 

の例あなたのViewModelはIsRefreshingと呼ばれるパブリックプロパティが必要になりますし、あなたがリフレッシュコマンドが完了したときにfalseにこれを設定する必要があります。

+0

ありがとうございました – Horosho

関連する問題