博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Caliburn.Micro 关闭父窗体打开子窗体
阅读量:7143 次
发布时间:2019-06-29

本文共 515 字,大约阅读时间需要 1 分钟。

  比如我们在做登录的时候需要关闭父窗体打开子窗体。使用Caliburn.Micro它的时候我们关闭登录窗口的时候主页面也会关闭

解决方法就是在登录页面的CS里面写

IndexView iv = new IndexView();//主窗体

this.Close();//关闭登录页面
iv.ShowDialog();//打开主窗体

这3句话只能在CS里面写,在ViewModel里面是不可能的。原因很简单,View引用ViewModel。我们都知道CM的协议会自动给我们关联View和VIewMode,像咋刚才这么写,没问题,登录页面关闭

主窗口也打开了,但会有一个问题,你会发现当打开主窗口的时候不会执行ViewModel里面的代码。其实这个很容易理解。CM打开窗口的方法都需要一个实例。比如ShowDialog(new 你要打开的窗口的类名)。我们直接

用View的ShowDialog肯定不会执行。解决方法就是像MVVM那样,我们直接设置View的DataContent就可以解决。美中不足的地方就是我们在CS里面写了代码。

转载于:https://www.cnblogs.com/lijin/p/3530761.html

你可能感兴趣的文章
反编译工具jad简单用法
查看>>
无法获取网关MAC地址表/radware备机流量——在不断的应急中提高
查看>>
iOS上使用自定义ttf字体
查看>>
关于CentOS/RHEL 7.x的yum组安装错误的解决方案
查看>>
通过PowerShell轻松转换VHD文件到VHDX格式
查看>>
OLTP应用之MySQL架构选型
查看>>
[Unity插件]LitJson杂谈
查看>>
调节effective_io_concurrenc优化PostgreSQL bitmap index scan性能
查看>>
MySQL体系结构笔记
查看>>
linux常用syslog日志知识
查看>>
VMware试验问题总结
查看>>
说说Micorsoft集群原理
查看>>
Android开发者指南(18) —— Web Apps Overview
查看>>
Oracle流程控制语句
查看>>
仿CSDN客户端首页(二)----拖拽排序Tabs的实现
查看>>
openstack 虚拟机导出
查看>>
《Flash建站技术》系列6-LoadVars数据提交与表单处理
查看>>
Service Mesh:什么是Sidecar模式
查看>>
python string
查看>>
纠结:决策有依据、局限和方法,也有后果需要承担
查看>>