Есть ли способ ссылаться на ВМ в xaml при использовании AutoWireViewModel = "True" - PullRequest
0 голосов
/ 30 января 2019

Как вы видите, я пытаюсь по-новому показать пользовательский диалог с MahApp.Metro в MVVM.

Я не могу ссылаться на MahApps.Metro.Controls.Dialogs в ВМ напрямую для использования dialogCoordinator.ShowMetroDialogAsync(..., BaseMetroDialog dialog, ...), потому что BaseMetroDialog - это элемент пользовательского интерфейса (ломающий MVVM).

Поэтому я пытаюсь определить свой собственный диалог в xaml, затем вызываю ShowMetroDialogAsync через ObjectDataProvider.Но я не знаю, как получить ссылку DataContext(the VM) для перехода к ObjectDataProvider.MethodParameters в качестве первого параметра.

image

кнопка для триггера ObjectDataProvider:

image

1 Ответ

0 голосов
/ 31 января 2019

Нет ничего плохого в том, что сервис отображает диалог.Таким образом, модель представления не знает о представлении, и вам не нужны слишком сложные конструкции xaml.

Или вы используете встроенную всплывающую систему призмы с запросами взаимодействия.

...