c# - MVVM 了解基础知识

标签 c# wpf mvvm

我希望有人能帮我解决这个问题。我尽最大努力尽可能坚持 MVVM 模式。是的,我知道这是一种模式,而不是框架。

到目前为止,我读完这篇文章后的印象是。如果这是错误的方法,请告知。

我的项目基本上是一个 WMI 浏览器,它存储最喜欢的查询并对计算机运行多个查询,然后比较结果。

观点: 基本上是项目的 XAML 部分。在这里,我们会将控件绑定(bind)到模型 View ,包括 itemssource 选定的项目和所需的任何其他内容。 所以 View 无法访问模型 View ,它不会在模型 View 内部存储数据或操作数据。它只绑定(bind)到模型 View 中的可观察集合

模型 View : 客户端交互的触发点和事件触发点,IE:选择项更改或单击按钮。模型 View 然后使用模型收集的数据将数据安排在 View 的可查看上下文中。

模型: 获取最终用户所需的数据,并在模型 View 需要时存储数据。

我在这方面是否接近正确?

View - XAML/控件样式/控件创建

模型 View -数据组织/事件管理/数据显示管理

模型 - 数据收集/远程连接到数据源。

最佳答案

听起来不错,只要您的 ViewModel 实际上不处理 View (特定于 WPF)代码。

将 ViewModel 视为技术不可知论者。理论上,您应该能够在控制台或 Android 应用程序中运行您的 ViewModel,因此在 ViewModel 级别中,对 System.Windows(特定于 WPF)类的任何引用或依赖都是 Not Acceptable 。

关于c# - MVVM 了解基础知识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21008387/

相关文章:

c# - HttpContext.SignOutAsync() 既不注销用户也不删除本地 cookie

c# - 重置由 SetRenderTarget() 等函数引起的 XNA 属性更改

wpf - 如何设置ItemsSource?

c# - MVVM 我是否正确地实现了这个

具有编程式 UI 自定义的 Android MVVM

c# - 为什么lambdas可以将函数调用转化为Actions?

c# - 使用窗口句柄获取当前事件窗口的路径

将多个结果转换为逗号分隔字符串的 WPF XPath 绑定(bind)

WPF ListBox 虚拟化搞砸了显示的项目

wpf - 来自 ICommand 的反馈