Witam, w kodzie wywołuję metodę która jest asynchroniczna, jednak w czasie gdy się ona wykonuje uruchamiane są dalsze polecenia które powinny wykonać się po tej asynchronicznej metodzie. Czy można ustawić tak by program czekał na zakończenie tej asynchronicznej metody i leciał potem dalej?
Test wyświetla się mimo że metoda wciąż się wykonywała.
CheckDirectory();
MessageBox.Show("Test");
async void CheckDirectory()
{
if (!File.Exists(appPath))
{
MetroWindow metroWindow = (Application.Current.MainWindow as MetroWindow);
if (await metroWindow.ShowMessageAsync("title", "message") == MessageDialogResult.Affirmative)
{
CommonOpenFileDialog commonOpenFileDialog = new CommonOpenFileDialog();
commonOpenFileDialog.IsFolderPicker = true;
commonOpenFileDialog.ShowDialog();
pathToDirectory = commonOpenFileDialog.FileName;
while (!CheckCorrectPath(pathToDirectory, "app.exe"))
{
commonOpenFileDialog.ShowDialog();
pathToDirectory = commonOpenFileDialog.FileName;
}
}
else pathToDirectory = appPath;
}
}