W 8.1 异步方法和导航 c# xaml

W 8.1 async method and navigation c# xaml

我正在尝试在用户单击按钮下载文件后导航到某个页面。下载方法是异步的,所以应用会等到方法结束,然后导航到页面。

代码:

private async void Button_Click(object sender, RoutedEventArgs e)
{
     await vm.DownloadFile(id);
     this.Frame.Navigate(typeof(MainPage));
}

我想在方法结束之前导航到页面。我该怎么做或者我做错了什么?

如果您想在下载完成之前导航,只需不要 await 下载完成后再导航:

private void Button_Click(object sender, RoutedEventArgs e)
{
     vm.DownloadFile(id);
     this.Frame.Navigate(typeof(MainPage));
}

尝试使用此代码它是相同的但删除等待

private async void Button_Click(object sender, RoutedEventArgs e)
{
     vm.DownloadFile(id);
     this.Frame.Navigate(typeof(MainPage));
}