gpt4 book ai didi

c# - WPF:从模型MVVM关闭窗口

转载 作者:行者123 更新时间:2023-12-03 10:55:37 24 4
gpt4 key购买 nike

我试图从其ViewModel关闭一个窗口。我正在使用MVVM模式。我已经厌倦了使用 window 。

Window parentWindow = Window.GetWindow(this);

但是我无法做到这一点,如何获取ViewModel的窗口,以便能够关闭该窗口。我希望能够在代码中做到这一点。

您可以在代码中找到父窗口吗?

最佳答案

在MVVM中,ViewModels不应以任何方式(包括关闭窗口)引用View

取而代之的是,ViewViewModel之间的通信通常通过某种事件或消息系统进行,例如Microsoft Prism's EventAggregator MVVM Light's Messenger

例如,View应该订阅以监听CloseWindow类型的事件消息,并且当它收到这些消息之一时,应该关闭自己。然后,ViewModel只需在想要告诉CloseWindow关闭的任何时间广播一个View消息。

如果您有兴趣,请在我的有关Communication between ViewModels的博客文章中对MVVM中的事件系统进行简要概述,并提供一些示例。

关于c# - WPF:从模型MVVM关闭窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11036127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com