Настроить призму окна диалога - PullRequest
0 голосов
/ 01 июля 2019

Я реализовал новый DialogService, как показано в этом выпуске Новый IDialogService для WPF

Однако это не объясняет, как редактировать окно самого диалога, поскольку NotificationDialog - это UserControl.

Я попытался изменить его на Window, но затем возникает исключение из-за отсутствия корневого окна.

Есть идеи, как изменить окно диалога?

Поскольку заголовок и значок установлены в DialogViewModelBase, я также попытался добавить свойство ResizeMode.

В DialogViewModelBase:

private ResizeMode _resizeMode;
public ResizeMode ResizeMode
{
   get => _resizeMode;
   set => SetProperty(ref _resizeMode, value);
}

и NotificationDialogViewModel реализация:

public NotificationDialogViewModel()
{
    Title = "Notification";
    ResizeMode = System.Windows.ResizeMode.CanMinimize;
    CloseDialogCommand = new DelegateCommand(CloseDialog);
}

Однако это не работает так, как задумано.

1 Ответ

1 голос
/ 01 июля 2019

Есть идеи, как изменить окно диалога?

Глядя на код , похоже, что вам нужно реализовать IDialogWindow и переопределить регистрацию по умолчанию для встроенной реализации.

Кроме того, вам не нужно наследовать от DialogViewModelBase, достаточно просто реализовать IDialogAware.

...