2016-08-14 23 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

相關問題