使用最新版本的MVVM Light框架在WPF中打开模式对话框的正确方法是什么。我还希望能够将值传递给用作模式对话框的窗口的ViewModel。
我在MVVM Light网站上找不到任何样本。
发布于 2015-05-14 08:09:28
您应该使用抽象视图的可视化表示的DialogService,以便您可以在视图模型中执行“显示”(稍后可能/希望)模拟它以进行测试。
有关DialogService here的更多信息。
-edit- I错了,正如Alan Rutter (OP)指出的那样,IDialogService只适用于简单的消息框。我不认为MVVM light会对你有多大帮助,但你可以构建一个类似的服务(例如ICustomDialogService?)。自定义对话框可以注册为可用于服务,然后接口提供调用,允许您按名称(可能是String或Enum )调用特定的对话框,并传递所需的任何参数。
对话框可以以几种不同的方式注册到服务中-可以发生在静态构造函数中(您必须以某种方式强制执行)中的类型,也可以更明确地通过程序集中的属性进行注册。甚至可能使用类属性。这取决于您的启动顺序和通用基础架构。
https://stackoverflow.com/questions/30227181
复制相似问题