2016-04-24 1 views
2

Я разрабатываю UWP с Prism, когда приложение запускается, ему нужно скопировать файл из InstallLocation в LocalFolder и убедиться, что файл существует в LocalFolder, прежде чем перейти к MainPage. Любая идея, как я могу это достичь?Как реализовать компиляционную задачу в OnLaunchApplicationAsync для Prism в UWP?

Кажется, что OnLaunchApplicationAsync может вернуть задачу, но сначала перейдет к MainPage перед завершением задачи.

protected override Task OnLaunchApplicationAsync(LaunchActivatedEventArgs args) 
    { 
     Task task = new Task(async() => 
     { 
      StorageFile dataFile = await Package.Current.InstalledLocation.GetFileAsync("xx.db3"); 
      await dataFile.CopyAsync(ApplicationData.Current.LocalFolder, "xx.db3", NameCollisionOption.FailIfExists); 
     }); 

     NavigationService.Navigate("Main", null); 
     Window.Current.Activate(); 

     return task; 

     //return Task.FromResult<object>(null); 
    } 

Любые помощь приветствуется.

+0

Вам нужно для 'await' на Задачу Outter. –

ответ

1

Как насчет этого?

protected override async Task OnLaunchApplicationAsync(LaunchActivatedEventArgs args) 
{ 
    StorageFile dataFile = await Package.Current.InstalledLocation.GetFileAsync("xx.db3"); 
    await dataFile.CopyAsync(ApplicationData.Current.LocalFolder, "xx.db3", NameCollisionOption.FailIfExists); 

    NavigationService.Navigate("Main", null); 
    Window.Current.Activate(); 
} 

Нет необходимости более усложнять :-)

+0

@Brian, он работает так, как вы намеревались? – Haukinger

 Смежные вопросы

  • Нет связанных вопросов^_^