2016-08-14 29 views
0

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

编辑:

如上所示

enter image description here

的UI具有分段控制和每个控制调用命令。

+1

'if(IsBusy)return;'? –

回答

0

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

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

问题是UI,有分段控件,每个都调用命令。因此,如果用户按下控件2并且IsBusy为true,则选择控件2,但列表视图显示不同的数据。 – danieljohngomez

+0

添加了UI的屏幕截图 – danieljohngomez

+0

我认为当您拉动重新刷新时会调用该命令。你可以根据你的用户界面来解释吗? – BraveHeart

相关问题