MessageService для текущего окна в Catel

Я пытаюсь создать сообщение в своем приложении WPF с помощью Catel. У меня проблема, потому что я пытаюсь показать это сообщение поверх дополнительного окна (не поверх основного окна)

Я использую Catel с Orchestra.MahApps.

Когда я пытаюсь выполнить такой код:

IMessageService messageService = ServiceLocator.Default.ResolveType<IMessageService>();
messageService.ShowInformation(message, title);

в моем дополнительном окне ViewModel отображается мое сообщение, но поверх моего MainWindow. Есть ли способ показать это во втором окне?

Прямо сейчас у меня есть обходной путь с Events, но с ростом моего приложения будет сложно поддерживать все.


person Tomasz    schedule 05.08.2015    source источник


Ответы (1)


Есть несколько вариантов:

  1. Создайте (или переопределите) пользовательскую версию PleaseWaitService. При отображении индикатора занятости проверьте текущее окно переднего плана и покажите его.
  2. Если вам действительно нужен индикатор занятости для каждого представления, может быть проще создать логические значения на вашей виртуальной машине (IsBusy) и привязать к ним из представления.
person Geert van Horrik    schedule 05.08.2015