有没有办法在使用 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 内置的带有交互请求的弹出系统。
如您所见,我正在尝试一种在 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 内置的带有交互请求的弹出系统。