В Viewmodel я хочу отслеживать состояние асинхронного вызова.Предположим, у меня есть два асинхронных вызова в viewmodel, и я хочу отслеживать, когда все асинхронные вызовы выполнены.То, что я сделал, как показано ниже: Установите значение private var для отслеживания каждого асинхронного вызова:
private bool _isDone1 = false;
private bool _isDone2 = false;
Установите одно свойство, например:
private bool _isDone;
public bool IsDone
{
get { return this._isDone1&&this._isDone2; }
set
{
if (this._isDone != value)
{
this._isDone = value;
if(this._isDone)
{
// done somting here when all async call done
}
this.RaisePropertyChanged("IsDone");
}
}
}
В завершенном событии для каждого асинхронного вызова установите код следующим образом:: Для вызова 1:
_isDone1 = true;
this.RaisePropertyChanged("IsDone");
Для вызова 2:
_isDone2 = true;
this.RaisePropertyChanged("IsDone");
Затем я запускаю приложение. Кажется, код для IsDone никогда не трогать.Как решить эту проблему или найти лучшее решение для этого случая?