我正在使用c#開發metro應用程序,我正在使用異步並等待關鍵字來創建地鐵異步操作(下載數據等)。我總是顯示模式「Please wait」對話框。我想添加「取消」按鈕到這個模式對話框以允許取消後臺操作。 但我不知道如何取消處理任務...有沒有任何例子如何做到這一點?如何在c#metro應用程序中停止異步任務
這是我的任務,例如:
// Starts task
public void StartTask()
{
// show the modal dialog with progress
_progressDialog.IsOpen = true;
_progressDialog.CancelClick += ProgressDialog_CancelClick;
await ToWork();
_progressDialog.IsOpen = false;
}
// Task which takes some seconds
private async Task DoWork()
{
await DownloadData();
await ProcessData();
}
// Cancel task
private void CancelClick(object sender, RoutedEventArgs e)
{
// hide the modal dialog with progress
_progressDialog.IsOpen = false;
// TODO: Cancel task
GoBack(this, e);
}
你'StartTask()'方法使用'ToWork()',但我只能看到一個'的DoWork()'方法。這是故意的嗎? – Nolonar 2013-04-10 11:22:12