wpf - 寻找WPF MVVM骨架

标签 wpf mvvm

我已经学习 WPF MVVM 模式几周了。 我对这个模式还没有很清楚的理解。

我已阅读此主题 https://stackoverflow.com/questions/275098/what-applications-could-i-study-to-understand-datamodel-view-viewmodel以及几乎所有引用的文章。

所有示例的问题在于它们有“很多额外的东西”(菜单、多个 View 等)。当您需要学习如何做复杂的事情时,这很好,但当您查看时就不好了寻找一些你可以开始的东西。

我想要一个可以用作框架来构建我自己的应用程序的应用程序。 IE。我希望看到一个只有绝对强制内容的应用程序,我想是这样的:

  • 主窗口
  • 模型类
  • ViewModel 类
  • 查看类(class)
  • 一些 ICommand 实现? (我需要这样的东西吗)?
  • 可能我错过了一些东西

最佳答案

问题的一部分是,如果你仔细想想,其中大多数都没有什么具体的内容。

如果您只想要“纯粹的需求”,那么几乎您唯一需要的就是一些 ICommand执行。这是因为以下只是标准 WPF 或 C# 类:

  • 主窗口 -> 只需使用一个窗口
  • 模型类 -> 这是您的正常项目数据。不应针对 MVVM 进行更改
  • ViewModel 类 -> 这只是一个实现 INotifyPropertyChanged 的普通 C# 类
  • View 类 -> 标准 WPF UserControl

您唯一需要的是 ICommand将代表路由到 ICommand 的实现。这可以从任何 MVVM 框架中剥离出来(它们都至少有一种,但通常有两种实现,一种用于 Action,另一种用于 Action<T>,其中参数从 CommandParameter 路由)。

如果你需要一个简单的命令实现,欢迎你从我的MVVM Series的代码中窃取一个。 。它的代码并不试图成为一个“框架”,因为目标只是展示 MVVM 的基础知识。

关于wpf - 寻找WPF MVVM骨架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8173808/

相关文章:

c# - 构建 MVVM 3D 编辑器应用程序 -> 获取鼠标位置?

wpf - DataContext 用于在 DataTemplate 中将 UserControl 与 ViewModel 绑定(bind)

c# - 如何制作自动变化的照片?

wpf - Java 类似于 WPF 中的窗口导航

c# - 无法将 lambda 表达式转换为类型 'System.Delegate' 因为它不是委托(delegate)类型?

c# - 使选项卡标题灵活地适应 WPF 上的标题文本

c# - 动态调整滚动查看器的宽度

c# - 错误CS0135 : 'Model' conflicts with the declaration 'System.Web.Mvc.ViewPage<TModel>.Model'

silverlight - 如何将分组标题从属性名称更改为更具描述性的名称

c# - WPF 中的 LeftAlt 键绑定(bind)