gpt4 book ai didi

c# - 如何从 View 模型中显示自定义窗口,它们都位于单独的程序集中?

转载 作者:行者123 更新时间:2023-12-03 10:33:41 26 4
gpt4 key购买 nike

我正在遵循 MVVM 模式,并在 中有我的观点解决方案.用户界面 中的装配和 ViewModels解决方案.BusinessLogic 部件。据我所知,ViewModels 应该对 Views 一无所知,而 Views 应该持有对 ViewModels 的引用。但是,如果我想从 的 ViewModel 打开我的自定义 View 怎么办?解决方案.BusinessLogic ? (例如,插入新项目窗口)。我不能,因为这意味着添加对 Views 的引用,因此会导致循环依赖。如何解决这个问题?

最佳答案

我认为您在这里混淆了一些事情。 MVVM 包含三个部分:模型、 View 和 View 模型。 View 代表您的数据并绑定(bind)到您的 ViewModel。这两者通常存在于同一个用户界面程序集中,如 。解决方案.用户界面 .在 View 优先的方法中,ViewModel 对 一无所知。它的相关 View - 这是正确的。但它可以轻松地与 一起使用其他 View 就像显示一个绑定(bind)到另一个 ViewModel 的新窗口。

模型是您的业务逻辑应该驻留的地方。这很可能在另一个程序集中。 ViewModel 持有对业务对象的引用,并可能将其转换为另一种格式,以让关联的 View 以可读格式显示它。

另请参阅此问题以进行澄清:
Should I implement business logic on a Model or a ViewModel

关于c# - 如何从 View 模型中显示自定义窗口,它们都位于单独的程序集中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43951481/

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