gpt4 book ai didi

c# - MVVM 中的子窗口

转载 作者:行者123 更新时间:2023-11-30 18:08:37 26 4
gpt4 key购买 nike

我在理解有关 MVVM 的某些方面时遇到了问题。我的应用程序依赖于某些事情的对话。问题是,这些子窗口应该从哪里来?根据 MVVM, View 模型应该只包含业务逻辑并且对 UI 的实际知识为零。但是,考虑到它们是 UI 元素,我应该从其他什么地方调用我的子窗口?

这不会在元素之间创建紧密耦合吗?

最佳答案

由于您使用 Prism 标记了问题,我将建议我过去使用 Prism 完成的方法。将 IEventAggregator 注入(inject)您的 ViewModel,然后当您想要弹出对话框时,发布“ShowDialogEvent”或类似的东西。然后,有另一个名为“DialogModule”或其他的模块,它在初始化时订阅该事件,并显示对话框。此外,如果您想将数据传回原始 ViewModel,请让对话框的 ViewModel 发布一个“DialogCloseEvent”或类似的东西,其中包含您需要的数据负载。然后,您可以在主 ViewModel 中订阅该事件。

关于c# - MVVM 中的子窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3061023/

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