我想在數據加載和數據加載時顯示進度條我想隱藏進度條。數據加載時顯示進度條
對於測試目的,我剛剛添加了10秒,它的工作原理。
private async Task ProgressBarAsync()
{
_isProgressVisible = true;
RaisePropertyChanged(() => IsProgressVisible);
await Task.Delay(TimeSpan.FromSeconds(10)).ConfigureAwait(false);
isProgressVisible = false;
RaisePropertyChanged(() => IsProgressVisible);
}
然而,在下面的實際代碼,不顯示進度條。
private async Task RefreshStudentList()
{
//display progressbar
_isProgressVisible = true;
RaisePropertyChanged(() => IsProgressVisible);
// load data
var task = _studentService.GetStudentAsync();
await task;
Students = new ObservableCollection<StudentViewModel>(task.Result.ConvertAll(x => new ClassViewModel(x)));
//hide progressbar
_isProgressVisible = false;
RaisePropertyChanged(() => IsProgressVisible);
}
你確定你已經綁定IsProgressVisible正常嗎? –
查看我更新的問題 – hotspring
您確定從UI線程調用RefreshStudentList方法嗎?你應該嘗試封裝你的「RaisePropertyChanged(()=> IsProgressVisible);」使用InvokeOnMainThread(()=> ...)調用; – hugoterelle