首页 > 其他分享 >Prism:对话框(Dialog)

Prism:对话框(Dialog)

时间:2024-08-28 20:19:13浏览次数:9  
标签:调用 对话框 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

标签:调用,对话框,Prism,对话,Dialog,参数
From: https://www.cnblogs.com/zhuiyine/p/18385462

相关文章

  • Prism:结语
    Prism:结语prism基本功能也已经学完了,在学习过程中遇到过很多问题,其中就有一点条我就一直困惑,那就是:依赖注入什么是依赖注入:(gpt写的)依赖注入(DependencyInjection,简称DI)是一种设计模式和编程技术,用于实现控制反转(InversionofControl,IoC)。它通过将对象的依赖项从对象内部移到......
  • Prism:事件聚合器
    Prism:事件聚合器Prism框架提供了一个事件聚合器,可以帮助不同模块之间进行解耦和通信。开发人员可以通过发布和订阅事件来实现模块之间的交互。IEventAggregator松耦合基于事件通讯多个发布者和订阅者微弱的事件过滤事件传递参数取消订阅该功能主要作用为,事件聚合器......
  • Prism:框架介绍与安装
    Prism:框架介绍与安装什么是Prism?Prism是一个用于在WPF、XamarinForm、Uno平台和WinUI中构建松散耦合、可维护和可测试的XAML应用程序框架Githubhttps://github.com/PrismLibrary/PrismNuGethttps://www.nuget.org/packages/Prism.WpfVS2022拓展功能:MVVM、依赖......
  • Prism:区域(Region)
    Prism:区域(Region)什么是区域?区域(Region)用于实现模块化应用程序中的视图组织和管理。区域允许您在一个或多个视图容器中动态地加载和卸载视图,从而实现灵活的内容布局和管理。区域的用途动态内容加载:您可以将不同的视图加载到同一个区域中,这样可以实现在运行时动态改变应......
  • ".prisma/client/index-browser" is imported by ".prisma/client/index-browser?comm
    背景在nuxt3项目中使用prisma操作数据库。dev阶段可以正常运行,但是到了build时出现以上错误。分析由于npm的依赖采用扁平化管理,而pnpm并不适用扁平化管理,从而导致pnpm存在兼容性问题。最简单的办法是直接换掉pnpm,直接改成yarn或者npm。yarnpnpm仔细观察可以发现,没有.prisma......
  • 解决element-plus中的el-dialog弹框覆盖editor富文本组件下拉框的问题
    <template><el-dialog:visible.sync="dialogFormVisible"><!--dialog内容--><button@click="dialog">打开富文本编辑器</button><tinymce-editorref="tinyEditor"/></el-dialog>&......
  • 【Qt】Qt窗口 | QDialog 对话框
    文章目录一.对话框二.对话框的分类1.非模态对话框2.模态对话框3.混合属性对话框三.自定义对话框1.代码实现2.ui文件实现四.内置对话框1.QMessageBox消息对话框2.QColorDialog颜色对话框3.QFileDialog文件对话框4.QFontDialog字体对话框5.QInputDialo......
  • vant3升级vant4后,使用Toast、Dialog报样式不存在异常解决方法
    异常现象:vant3升级vant4,直接采用v4的方法使用showToast/showDialog,但直接就报错了,如下:[vite]Internalservererror:Failedtoresolveimport"E:/git_sh/project_code/node_modules/vant/es/show-confirm-dialog/style"from"src\service\index.ts".Doesthefile......
  • Vue3父子通信-setup+经典父组件与子组件el-dialog
    一、父组件绑定方法,引入子组件并传递数据和方法<el-buttonsize="small"plaintype="primary"@click="click_add_notice">+添加公告</el-button><AddNoticeDialogv-model="AddNoticeDialogDialogVisible"@addNoticeSucc......
  • IOS 12 自定义用户协议对话框
    实现效果实现逻辑本文使用QMUI里面提供的控制器+自定义控件实现。添加依赖#腾讯开源的UI框架,提供了很多功能,例如:圆角按钮,空心按钮,TextView支持placeholder#https://github.com/QMUI/QMUIDemo_iOS#https://qmuiteam.com/ios/get-startedpod"QMUIKit"还不了解如何使......