C# WPF MVVM模式下在主窗体显示子窗体并获取结果

01

前言

在winform中打开一个新的子窗体很简单,直接实例化窗体并show一下就可以:

Form2 f2 = new Form2();f2.Show();

或者

Form2 f2 = new Form2();f2.ShowDialog();

但是,在wpf的mvvm模式下,这种方法是行不通的,因为逻辑是在viedmodel中写的,CM框架下viewmodel和view是通过正则自动匹配的。所以正常是通过调用框架下得WindowManager接口,在window后台代码中通过WindowManager注册需要弹出的窗体类型,在ViewModel通过WindowManager的Show或ShowDialog方法,显示出来。

02


ShowDialog用法实现

首先实例化新的子窗体SubShowWindowViewModel ,然后通过CM框架的ioc容器获取IWindowManager接口,通过接口的ShowDialog调出子窗体,ControlTestStr 用来显示子窗体的赋值并在界面显示。

using Caliburn.Micro;
using PropertyChanged;namespace CaliburnTest
{[AddINotifyPropertyChangedInterface]public class ControlTestViewModel{public string ControlTestStr { get; set; } = string.Empty;public void  NewWindowShow(){ControlTestStr = "NewWindowShow";SubShowWindowViewModel subShowWindowViewModel = new SubShowWindowViewModel(ControlTestStr);IWindowManager windowManager = IoC.Get<IWindowManager>();windowManager.ShowDialog(subShowWindowViewModel);ControlTestStr = subShowWindowViewModel.SubShowWindowStr;}}
}

03


结果演示

6e358eebe7b98f21eda44b5d5d46cbe3.gif

ControlTestStr 获取到了新窗体的赋值并显示到了界面.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/296746.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Exchange 2010发现拓扑失败

今天跟大家继续分享一个我在项目中遇到的问题哈&#xff0c;希望对大家今后的项目排错有帮助。问题背景&#xff1a;企业主域控从 Window Server 2003升级为Windows Server 2012 R2具体实施方法可以参考我之前的文章(http://horse87.blog.51cto.com/2633686/1613268)在顺利升级…

html引用单文件组件,vue之单文件组件 纯网页方式引入

上一节的vue组件开发是把组件内容统一放到了一个js文件里面里面写上模板字符串(引用组件) 这种方式还需要拼接转义 写法非常丑陋vue贴心的帮我们封装了单文件组件 可以不用再模板里面拼接字符串下面看下写法由于我们目前没有使用webpack和vue-cli等构建工具(为了快速学习vue的语…

足不出户,游遍七大洲,不可错过的14部地理纪录片!

见识是超越时间与空间的力量&#xff0c;使人身未行&#xff0c;而心已至之。今天的资源分享就从七大洲为切入点&#xff0c;为各位献上最值得观看的14部地理纪录片&#xff0c;与各位一起探索各大洲的独一无二的自然与人文景观&#xff0c;从这些丰富的影像中&#xff0c;不仅…

EXT2/EXT3/EXT4文件系统数据恢复工具开发计划

D-Recovery For Linux数据恢复软件已经开发完成&#xff0c;现在把研发计划贴出来&#xff0c;留个纪念。 EXT2/EXT3/EXT4文件系统数据恢复工具开发计划EXT2/EXT3/EXT4是Linux下常用的文件系统&#xff0c;也是除了Windows下FAT/NTFS文件系统以外最常用文件系统&#xff0c;所以…

在Cocos2d中实现能够惯性拖动的选择界面

苹果的应用讲究用户体验 有的时候仔细想想 的确&#xff0c;很多细节决定了用户体验 比如说惯性拖动 可以说之前没有任何一家厂商能把触摸惯性拖动做的像苹果的UI那么流畅 Cocos2D中实现能够惯性拖动的选择界面 完成的效果&#xff1a; 制作一个简单的图层&#xff0c;通过传入…

qt显示echart_Qt配置,载入html,Echart, 交互

一、下载、安装、配置b) 编译器下载&#xff0c;本次要用到MSVC的编译器&#xff0c;下载安装visual studio 2017 版本(某博客说该版本支持 QWebEngineView)c) QT 安装过程中缺少组件可在QT安装目录下找到 MaintenanceTool.exe 添加&#xff1b;i. 需要注册…

SignalR在React/Go技术栈的实践

哼哧哼哧半年&#xff0c;优化改进了一个运维开发web平台。本文记录SignalR在react/golang 技术栈的生产小实践。01背景有个前后端分离的运维开发web平台&#xff0c; 后端会间隔5分钟同步一次数据&#xff0c;现在需要将最新一次同步的时间推送到web前端。说到[web服务端推送]…

UVA 1609 Foul Play 不公平竞赛 (构(luan)造(gao)+递归)

题意&#xff1a;有n支队伍&#xff08;n是2的整数幂&#xff0c;2<n<4&#xff09;&#xff0c;打淘汰赛&#xff0c;胜者进入下一轮&#xff0c;其中1号队伍能打败至少一半的队伍&#xff0c;对于它不能打败的队伍l&#xff0c;一定存在一支它能够打败的队伍w&#xff…

conversion to dalvik format failed with error 1的解决办法

android低版本工程&#xff08;如1.5&#xff09;放到高版本环境中&#xff08;如2.2&#xff09;可能会上述错误&#xff0c;解决方法如下&#xff1a; 1。 如果不修改android sdk版本&#xff0c;则使用project clean 命令作用于某工程即可。 &#xff08;该处理方式…

16张扎心漫画,戳中女生私密日常,每一幕都很真实

全世界只有3.14 % 的人关注了爆炸吧知识比利时的插画师Planet Prudence&#xff0c;画了很多女生的真实日常&#xff0c;每一幕都很戳心&#xff0c;一起来看看吧。别人的痘痘一长就是一个&#xff0c;我一长就是一片。买买买的时候爽得要命&#xff0c;要穿的时候总觉得自己没…

刷magisk模块后不能开机_刷Magisk模块开机卡Logo了怎么办?两种方法教你轻松解决...

虽然&#xff0c;Magisk由于工作原理的不同&#xff0c;其模块对系统的兼容性相比较于此前的Xposed框架模块要好得多&#xff0c;但是依旧有可能出现刷了模块之后&#xff0c;卡Logo&#xff0c;无法开机的情况。今天&#xff0c;小编就提供两种方式解决刷Magisk模块卡开机Logo…

Linux添加用户(user)到用户组(group)

转载自“http://xxx.11tea.com/blog/15654” 将一个用户添加到用户组中&#xff0c;千万不能直接用&#xff1a; usermod -G groupA 这样做会使你离开其他用户组&#xff0c;仅仅做为 这个用户组 groupA 的成员。 应该用 加上 -a 选项&#xff1a; usermod -a -G groupA user (…

Magicodes.IE 2.5.6.2发布

2.5.6.22021.10.13支持自定义列字体颜色&#xff0c;具体见PR#342&#xff0c;感谢xiangxiren修复日期格式化的问题&#xff0c;具体见PR#344&#xff0c;感谢ccccccmd2.5.6.12021.10.06修复 #337&#xff0c;bool?类型导出的映射问题2.5.6.02021.10.05合并Magicodes.EPPlus到…

html的标签和标记有啥区别,HTML 元素 b 和 strong 有什么区别?//(强调标签的理解)...

不要动不动就把英语的术语、名称或概念牵强地翻译成中文。不是「粗体和加重有什么区别」(原题如此)&#xff0c;是「HTML 标签 和 有什么区别」。HTML 的标签负责将内容标记为 HTML 元素&#xff0c;浏览器的默认 CSS 样式表负责按照 W3C 的建议来指定 HTML 元素的默认样式。…

一个让我很不爽的外包项目——奔驰Smart2015新官网

七月份的下半个月&#xff0c;有幸做了奔驰 Smart 2015年新官网&#xff0c;包括手机端和PC端的宣传页&#xff0c;地址&#xff1a; PC端手机端这里&#xff0c;为了证明这个是一个事实&#xff0c;我还特意的留存了两张截图&#xff1a; 这里只想说明这么几个问题&#xff1a…

备赛脱脂经验分享_IEO国际经济学奥林匹克初选宏观备赛经验分享

背景介绍&#xff1a;国际经济学奥林匹克(IEO)是13项国际科学类奥林匹克竞赛(International Science Olympiads)之一&#xff0c;面向全球高中学生&#xff0c;旨在鼓励对经济学、财务和商业感兴趣的学生&#xff0c;激发他们用创造性方式解决问题。IEO由诺贝尔经济学获奖者、哈…

为什么饮料瓶大都是圆的,牛奶盒却是方的?原因你想不到

全世界只有3.14 % 的人关注了爆炸吧知识每日看着电视玩着手机再喝着饮料那是相当美好但是喝了这么久的饮料你有没有想过一个问题为什么饮料瓶一般都是圆的&#xff1f;而牛奶盒却是方的&#xff1f;图片来源网络有的人可能会说饮料瓶要拿在手上当然是圆的舒服啊拿着一个方形的饮…

IIS相关问题及解决方案

1、问题&#xff1a;HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配 可能原因&#xff1a;在自己使用IIS发布网站之后&#xff0c;自己所使用的当前账户的密码改变了。 解决方法&#xff1a;将用户才密码改回来即可.... 2. 转载于:https://www.…

博客园html源码编辑出错,博客园小技巧

作者&#xff1a;Vamei 出处&#xff1a;http://www.cnblogs.com/vamei 欢迎转载&#xff0c;也请保留这段声明。谢谢&#xff01;在博客园写博的半年中&#xff0c;我有时会纠结于一些诸如写作格式和显示效果之类的小问题。我想任何一个热衷于在这里写博客的人都可能会遇到类似…

使用零代码平台构建应用,应该怎样转变思路?

最近两年&#xff0c;越来越多的各类零代码产品在市场上出现&#xff0c;与此同时&#xff0c;企业的数字化转型的速度也越来越快&#xff0c;零代码产品已然成为了帮助企业数字化转型的利器。技术也在不断地演进&#xff0c;其核心目的就是让开发人员能够更专注于业务逻辑&…