Зависание окна сообщений пользовательского интерфейса AvaloniaC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Зависание окна сообщений пользовательского интерфейса Avalonia

Сообщение Anonymous »

Я новичок в пользовательском интерфейсе Avalonia, я создаю простое приложение и использую MessageBox.Avalonia.
Я хочу написать сервис для показа диалогов.
Я придумал следующее:

Код: Выделить всё

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;
}
}
Моя проблема в том, что этот MessageBox зависает, и на его кнопки невозможно нажать.
Я использую его так:

Код: Выделить всё

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);
}
Я пытался изменить службу для запуска диалога.ShowAsync() в новом потоке с помощью Task.Run(), но ничего не показывалось.
/>Что я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/785 ... x-freezing
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»