У меня есть подготовленное окно для показа диалога, но как дошло дело до его показа, я не понимаю как отобразить это окно как диалог.
В Prism есть сервис IDialogService, но я не понимаю как им воспользоваться, т.к. при попытке отобразить окно, мне выдает исключение:
Exception occurred while:
on constructor: DialogWindow() •resolving type: 'IDialogWindow' mapped to 'DialogWindow' "
InvalidOperationException: Вызывающим потоком должен быть STA, поскольку этого требуют большинство компонентов UI.
Такое исключение бросается если использовать асинхронную команду, а если использовать синхронную то:
"A dialog's content must be a FrameworkElement"
Как я пытаюсь показать диалог:
public class ShortUserProfileViewModel : BindableBase
{
private readonly IDialogService _dialogService;
private DelegateCommand _loginCommand;
public ShortUserProfileViewModel(IDleHttpClient httpClient, IDialogService dialogService)
{
_dialogService = dialogService;
HttpClient = httpClient;
LoginCommand = new DelegateCommand(() =>
{
_dialogService.ShowDialog("UserAuthWindow", new DialogParameters(), result =>
{
});
});
}
public IDleHttpClient HttpClient { get; }
public DelegateCommand LoginCommand
{
get => _loginCommand;
set => SetProperty(ref _loginCommand, value);
}
}
Как отобразить окно как диалог с помощью Prism?
Сборка персонального компьютера от Artline: умный выбор для современных пользователей