共有三个窗口 MainWindow、FirstWindow 和 SecondWindow。 MainWindow 可以打开 FirstWindow 和 SecondWindow。

现在我的问题是:

  • 如何从 FirstWindow 打开 SecondWindow,并在 SecondWindow 打开时关闭 FirstWindow。这时候可以控制SecondWindow,但是不能控制MainWindow,就像在MainWindow中使用SecondWindow.ShowDialog()一样。
  • 单击 SecondWindow 上的“保存”按钮后,SecondWindow 将关闭,MainWindow 的 DataGrid 将更新。如何从另一个 ViewModel 更新数据或如何在处理事件时返回数据?
  • 最佳答案

    你在这里要求多个东西。

    基本上你需要两件事。在 View 模型之间传递消息的事件聚合器(也称为信使)。有不同的框架可以实现它,或者它们作为 MVVM 框架的一部分出现。

    其次,您需要一个导航服务来将导航与 View 模型分离,因为导航需要了解 View 相关技术(WPF、UWP、Silverlight 等)

    关于c# - 如何在 WPF 中的 ViewModels 之间进行通信以及如何控制 Views 生命周期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34258994/

    10-13 00:00