有没有办法在使用 AutoWireViewModel = "True" 时在 xaml 中引用 VM

Is there a way to reference VM in xaml while using AutoWireViewModel = "True"

如您所见,我正在尝试一种在 MVVM 中使用 MahApp.Metro 显示自定义对话框的新方法。

我无法在 VM 中直接引用 MahApps.Metro.Controls.Dialogs 来使用 dialogCoordinator.ShowMetroDialogAsync(..., BaseMetroDialog dialog, ...), 因为 BaseMetroDialog 是一个 UI 元素(破坏 MVVM)。

所以我尝试在 xaml 中定义我的自定义对话框,然后通过 ObjectDataProvider 调用 ShowMetroDialogAsync。但是我不知道如何获取 DataContext(the VM) 的引用以作为第一个参数传递给 ObjectDataProvider.MethodParameters

触发器按钮 ObjectDataProvider:

显示对话框的服务没有问题。这样,视图模型不知道视图,您不需要过于复杂的 xaml 构造。

或者你使用 prism 内置的带有交互请求的弹出系统。