wpf - 有没有办法在使用 AutoWireViewModel = "True" 时在 xaml 中引用 VM
问题描述
如您所见,我正在尝试一种在 MVVM 中使用 MahApp.Metro 显示自定义对话框的新方法。
我不能MahApps.Metro.Controls.Dialogs
直接在 VM 中引用使用
dialogCoordinator.ShowMetroDialogAsync(..., BaseMetroDialog dialog, ...)
,因为BaseMetroDialog
它是一个 UI 元素(破坏 MVVM)。
所以我尝试在 xaml 中定义我的自定义对话框,然后ShowMetroDialogAsync
通过ObjectDataProvider
. 但我不知道如何获得作为第一个参数DataContext(the VM)
传递的参考。ObjectDataProvider.MethodParameters
触发按钮ObjectDataProvider
:
解决方案
显示对话框的服务没有任何问题。这样,视图模型不知道视图,并且您不需要过于复杂的 xaml 构造。
或者,您使用 prism 的内置弹出系统和交互请求。
推荐阅读
- python - 使用 GLM http_status = 412 进行训练时出现“H2OResponseError:ModelBuilderErrorV3”“缺少训练帧”
- delphi - 如何将指向句柄列表的指针传递给 UpdateProcThreadAttribute 函数
- android - 导航组件:跳转到动态根目录并清除后台堆栈
- jquery - 响应在 jquery ajax 响应中总是为空
- node.js - Node Js 文件替换实用程序
- angular - 如何以角度绑定/渲染 {{...}} html 代码与 innerHtml
- java - LatLng 给出空指针异常
- c# - 显示差异而不是总计 - NReco 数据透视表
- mysql - Laravel 停止从管理面板注册
- c# - 将代码 2.0 迁移到 3.1 核心代码,然后 swagger api 版本控制不起作用