1
イベントからObservable
を作成するためにこのメソッドを作成しました。私が開始されたダウンロードするとき、私は、ダウンロードプロセスをキャンセルするために、ユーザーのボタンを提供したいと思います、しかしリアクティブ観測を使用してダウンロードをキャンセルする
private void BuildObservables(WebClient webClient)
{
Observable.FromEventPattern<AsyncCompletedEventHandler, AsyncCompletedEventArgs>(h => webClient.DownloadFileCompleted += h, h => webClient.DownloadFileCompleted -= h)
.Select(ep => ep.EventArgs)
.Subscribe(
a =>
{
this.WizardViewModel.PageCompleted()
},
);
Observable.FromEventPattern<DownloadProgressChangedEventHandler, DownloadProgressChangedEventArgs>(h => webClient.DownloadProgressChanged += h, h => webClient.DownloadProgressChanged -= h)
.Select(ep => ep.EventArgs)
.Subscribe(
a =>
{
this.progressEdit.Position = a.ProgressPercentage;
progressEdit.Update();
}
);
}
:私は、プログレスバーがファイルをダウンロードし、更新しようとしています。
このコードに基づいてこのキャンセルを追加するにはどうすればよいですか?
は、私の知る限りは、図のようにできましたまず、 'webClient.CancelAsync()'を実行してから、 'disposable.Dispose()'を使ってobservableを破棄してください。 – Jordi