加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何在WPF中的ViewModel之间进行通信以及如何控制视图生命

发布时间:2020-12-15 22:24:02 所属栏目:百科 来源:网络整理
导读:MainWindow,FirstWindow和SecondWindow有三个窗口. MainWindow可以打开FirstWindow和SecondWindow. 现在我的问题是: 如何从FirstWindow打开SecondWindow,并在SecondWindow打开时关闭FirstWindow.这时,我可以控制SecondWindow但无法控制MainWindow,就像使用M
MainWindow,FirstWindow和SecondWindow有三个窗口. MainWindow可以打开FirstWindow和SecondWindow.

现在我的问题是:

>如何从FirstWindow打开SecondWindow,并在SecondWindow打开时关闭FirstWindow.这时,我可以控制SecondWindow但无法控制MainWindow,就像使用MainWindow中的SecondWindow.ShowDialog()一样.
>单击SecondWindow上的“保存”按钮后,将关闭SecondWindow并更新MainWindow的DataGrid.如何更新来自另一个ViewModel的数据或如何在处理事件时返回数据?

解决方法

你在这里问多个事情.

基本上你需要2件事.用于在视图模型之间传递消息的事件聚合器(也称为messenger).有不同的框架可以实现它,或者它们是MVVM框架的一部分.

其次,您需要的是导航服务,以便将导航与视图模型分离,因为导航需要了解视图相关技术(WPF,UWP,Silverlight等)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读