如您所见,我正在尝试一种新方法来显示MVVM中MahApp.Metro的自定义对话框。
我无法直接在VM中引用MahApps.Metro.Controls.Dialogs
以便使用
dialogCoordinator.ShowMetroDialogAsync(..., BaseMetroDialog dialog, ...)
,
因为BaseMetroDialog
是一个UI元素(破坏了MVVM)。
因此,我尝试在xaml中定义我的自定义对话框,然后通过ShowMetroDialogAsync
调用ObjectDataProvider
。但是我不知道如何引用DataContext(the VM)
作为第一个参数传递给ObjectDataProvider.MethodParameters
。
触发器ObjectDataProvider
的按钮:
答案 0 :(得分:1)
显示对话框的服务没有问题。这样,视图模型就不知道该视图,并且您不需要过于复杂的xaml构造。
或者您可以使用带有交互请求的棱镜的内置弹出系统。