微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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等)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐