我正在尝试创建一种处理弹出窗体的策略,以在我的应用程序的任何部分中使用。我的理解是,我需要在MainWindow的根目录下拥有一个单独的UserControl
,并将其绑定到自己的ViewModel,该ViewModel将处理发送到应用程序内部的消息。
我正在使用MVVM Light,并且对Messenger
类还比较陌生。
想象一下Master/Details场景,其中对象列表包含在ListBox
中。选择其中一个项目并单击编辑按钮将显示一个覆盖整个屏幕的UserControl
。然后用户可以编辑所选项目,并单击OK以提交更改。
我希望打开的UserControl
可以“通用”,以便我可以将任何东西(可能是ViewModel)传递给它... 通过DataTemplate
呈现ViewModel并处理所有对象更改。点击OK会回调到发送类并像以前一样持久化更改。
以下是一些这将非常有用的情况...
- 显示无需用户输入的错误消息(仅需要单击确定即可关闭它)
- 显示数据项的编辑表单
- 确认对话框(与标准MessageBox类似)
有人能提供任何代码示例,以展示我如何实现这一点吗?