c# - 使用 MVVM 设计模式的应用程序中的 Controller 是什么

标签 c# wpf design-patterns mvvm controller

我开发了一个 WPF 应用程序。我有一个继承自 Window 的主窗口,一个 tabcontrol 和此 tabcontrol 中的许多 tabitem,它们继承自 UserControl。每个 tabitem 都有自己的 cs 文件,我在其中使用 C# 编写所有业务逻辑代码,还有一个 XAML 文件,其中完成了 UI 的开发。我还有一个带有数据库的 SQL Server,我通过 LINQ 连接到该数据库。

所以我必须写下我在我的应用程序中使用的 Controller 的选择。这是我感到困惑的地方,因为我没有手动编程 Controller ,而且我认为 ViewModel 在我的情况下会像 Controller 一样工作。这是正确的吗? ViewModel 可以像 Controller 一样工作吗?

最佳答案

Controller 可以向其关联的 View 发送命令以更改 View 对模型的呈现(例如,通过滚动文档)。它还可以向模型发送命令以更新模型的状态(例如,编辑文档)。 Model_View_Controller

viewmodel 是“ View 的模型”,这意味着它是 View 的抽象,也充当 View 和模型之间的中介,模型是 View 数据绑定(bind)的目标。它可以被视为 Controller (在 MVC 模式中)的一个特殊方面,它充当转换器,将模型信息更改为 View 信息并将命令从 View 传递到模型。 View 模型公开公共(public)属性、命令和抽象。 Model_View_ViewModel

MVVMC(MVC + MVVM)的引入在您想要驱动许多相似的 View-ViewModel 对(用例)的情况下是必不可少的。然后你可以引入 Controller 。 Model_View_ViewModel_Controller

关于c# - 使用 MVVM 设计模式的应用程序中的 Controller 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16443662/

相关文章:

.net - WPF触发器更改父属性

java - 如何在 Java 类中实现 Collection 字段的 getter/setter?

sql - 如何在关系数据库中存储连续一周的展示次数?

c# - 使用 SOAP Web 服务

c# - 使用 DataTable 的行属性创建 DataView

c# - 如何从 ASP.net MVC 程序中获取普通 c# 程序中的 JSON 数据?

c# - 从未调用过 MouseLeftButtonDown 处理程序

c# - XAML 矩形属性触发器问题

c# - 输入模拟器 C# WPF 在尝试使用它时不断向我抛出错误

c# - 用于处理许多参数和业务规则的设计模式