执行并发任务时处理listview的IsRefreshing

时间:2016-08-14 23:54:41

标签: xamarin xamarin.forms

我有一个启用了pull-to-refreshed的列表视图,其中IsRefreshing绑定到viewmodel的IsBusy属性。命令启动时IsBusy更改为true,结束或失败时设置为false。问题是当用户执行两次或更多次命令时。第一个任务完成后,它会将IsBusy设置为false,使listview的活动指示器不可见。但是,第二项任务仍在运行。在完成所有任务之前,我不想将IsBusy设置为false。我怎样才能做到这一点?

编辑:

enter image description here

UI具有上面显示的分段控件,每个控件都调用该命令。

1 个答案:

答案 0 :(得分:0)

正如@Gerald所说,在viewmodel中的命令中,在将IsBusy设置为true之前,先检查它是否为真。如果没有设置为true,否则返回

private void DoCommand()
{
 If (IsBusy) return; 
 IsBusy = true; 
  // rest of you code here 
  // IsBusy = false; 
}