Я хочу написать сервис для показа диалогов.
Я придумал следующее:
Код: Выделить всё
public class UserDialogService {
public async Task ShowDialog(string title, string message, ButtonEnum button = ButtonEnum.Ok) {
var dialog = MessageBoxManager.GetMessageBoxStandard(title, message, button);
var result = await dialog.ShowAsync();
return result;
}
}
Я использую его так:
Код: Выделить всё
try {
CreateAppDirectoryIfNotExists();
Settings = DbSettings.ReadDbSettings();
} catch (Exception exc) {
if (exc is ConfigurationException) {
var result = DialogService.ShowDialog("Configuration Error", "The configuration file was not found or was invalid. Should default configuration be written?", ButtonEnum.YesNo).GetAwaiter().GetResult();
if (result == ButtonResult.Yes) {
Settings = new DbSettings();
Settings.WriteDbSettings();
}
}
throw new Exception("Failed to setup application.", exc);
}
/>Что я делаю не так?
Подробнее здесь: https://stackoverflow.com/questions/785 ... x-freezing