Prism:对话框(Dialog)

Prism:对话框(Dialog)

应用背景

对话框实际上是我们应用程序经常用到的一个功能, 类如: Show、ShowDialog。可以弹出一个我们指定的窗口, 仅此而已。

Prism提供了一组对话服务, 封装了常用的对话框组件的功能, 例如:

  • RegisterDialog/IDialogService (注册对话及使用对话)
  • 打开对话框传递参数/关闭对话框返回参数
  • 回调通知对话结果

对话框使用流程

依旧是在程序启动的地方去注册,比如module里面:

image-20240828182503320

其中:ViewDialog是一个UserControl

创建对话框,通常是一组用户控件 ,并且实现 IDialogAware(ViewModel里面)

image-20240828183117329

继承后,实现接口:

image-20240828183143146

image-20240828183158675

image-20240828183226111

image-20240828183242118

image-20240828183253252

使用IDialogService接口 Show/ShowDialog 方法调用对话框

image-20240828183653906

image-20240828183715830

image-20240828183752533

可以传入视图名字、参数以及结果回调。

调用对话框后,就是打开对话框了,并且接收了参数:

image-20240828184025718

回调的返回结果,执行RequestClose事件,输入参数为结果:

image-20240828184241003

image-20240828184312512

当然,我们可以将第哦啊用对话框封装成一个方法去调用:

image-20240828184727885

改成方法后:

image-20240828184820279

posted @ 2024-08-28 19:57  追忆呢  阅读(178)  评论(0编辑  收藏  举报