データのロード中に進行状況バーを表示しようとしていますが、データがロードされるとプログレスバーを非表示にします。データのロード中に進行状況バーを表示
試験目的の場合は、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