Prism:对话框(Dialog)
Prism:对话框(Dialog)
应用背景
对话框实际上是我们应用程序经常用到的一个功能, 类如: Show、ShowDialog。可以弹出一个我们指定的窗口, 仅此而已。
Prism提供了一组对话服务, 封装了常用的对话框组件的功能, 例如:
- RegisterDialog/IDialogService (注册对话及使用对话)
- 打开对话框传递参数/关闭对话框返回参数
- 回调通知对话结果
对话框使用流程
依旧是在程序启动的地方去注册,比如module里面:
其中:ViewDialog是一个UserControl
创建对话框,通常是一组用户控件 ,并且实现 IDialogAware(ViewModel里面)
继承后,实现接口:
使用IDialogService接口 Show/ShowDialog 方法调用对话框
可以传入视图名字、参数以及结果回调。
调用对话框后,就是打开对话框了,并且接收了参数:
回调的返回结果,执行RequestClose事件,输入参数为结果:
当然,我们可以将第哦啊用对话框封装成一个方法去调用:
改成方法后: