布局 | 标题 | 永久链接 | 描述 | 日期 | 标签 |
---|---|---|---|---|---|
邮政 | MvvmForms 自述文件 | 新页面.html | Mvvm 表单自述文件 | 2015-05-17 16:31:30-0700 | MVVM; Windows 窗体 |
欢迎来到 ActiveDevelop 的 MvvmForms 库项目。 MvvmForm 的目的是为 Windows 窗体 Visual Basic 和 CSharp 项目和解决方案提供 XAML ViewModel 兼容支持,包括成熟的 WinForms 设计器支持。 MvvmForms 是开源 (GPL),但具有双重许可证。有关 MvvmForms 许可的更多信息,请阅读下面的许可部分。
如果您的新项目有一个干净的开始,并且您的开发团队能够胜任这项任务,那么您很可能不需要 MvvmForms。但这种情况并不常见。在大多数情况下,在 1996 年至 2010 年间,已经为 Windows 平台编写了数亿行代码,并且通常使用 CSharp 和 Visual Basic .NET for Windows Forms,甚至使用 Visual Basic 6。有办法放弃这些项目并从头开始。到底是为了什么?您的解决方案有效、稳定且经过测试。那么,为什么不继续使用它呢?
如果您想改变您的开发模式,MvvmForms 非常适合您。如果您想摆脱代码隐藏并引入关注点分离的良好架构。如果您想基于允许单元测试的架构进行构建。如果您想通过部分重构来从现有软件创建多层架构,您可以将软件的大部分重用于不同的 UI,例如 Windows 通用应用程序、iOS 应用程序或 Android 应用程序。
我们公司位于德国威斯特法伦州,专门从事从典型的 Windows 窗体代码隐藏范例到现代体系结构的迁移。我们帮助以可行的方式做到这一点。我们知道,您的团队既没有时间也没有预算从头开始,这就是我们开发 MvvmForms 的原因:帮助我们的客户在不危及项目的情况下进入软件开发的新世界。
MvvmForms 是 Windows 窗体控件的集合。最初,它的设计目的是加快数据量大的表单的开发过程,并解决数据库后端的需求及其典型场景,例如 DBNull 的零努力处理、表单的脏状态处理、焦点突出显示、处理数字数据输入字段中的公式、多线程/多列查找弹出窗口(最多可容纳 100.000 个项目)等等。 2012 年中期的某个时候,一些德国公司找到我们,希望找到一种方法来保留他们现有的 Windows 窗体设计,但他们希望能够将 Mvvm 模式应用于他们的 LOB 应用程序的一部分,这样他们就可以在移动应用程序和其他目的。这就是 MvvmForms 的开始,我们根据现有的工具集开发了它。这种方法效果非常好,因此我们继续采用这种方法,并为 Mvvm 组件添加了丰富的设计器功能。
由于这段历史,MvvmForms 实际上满足了两个 Windows 窗体要求。第一个是通过提供 NullableDateValue、NullableNumValue、NullableTextValue 等控件、表单中的 DirtyState 处理控件等来简化数据密集型表单的设计。
第二个是为 Mvvm 启用 Windows 窗体。为此,您不需要使用 MvvmForms 提供的控件之一,您只需要一个组件:MvvmManager 组件。基本上,只需将该组件拖到表单中,将其 DataContextType 属性设置为要绑定的 ViewModel 类型,该表单上的每个控件都会获得一个 PropertyBindings 属性,该属性允许您绑定相应的 ViewModel 属性。您只需要在运行时设置 MvvmManager 组件的 DataContext 属性即可。您将找到一个简短的入门指南,请阅读 wiki - 链接位于右侧。
最重要的是:看看 youtube 上的这个介绍视频,它不仅介绍了 MvvmForms,还介绍了 MVVM。
https://www.youtube.com/watch?v=1R_81Np5New
哦是的!我们的 ActiveDevelop 团队每天都会处理 MvvmForms,因为德国的几个大型项目都依赖 MvvmForms - 有些项目的代码超过 100 万行。由于我们是一家德国公司,并且我们已经开始将 MvvmForms 本地化为英语,因此源代码中仍然有很多德语注释和 XML-Docu-Tags - 但我们正在努力。但是,MvvmForms 已经可以使用了,它稳定、可靠、经过彻底测试,如果您需要特殊支持或想要紧急开始使用它,并且需要我们定制、本地化或扩展其功能,那么只需与我们联系即可,所以我们可以找到一种方法来实现这一点。
是的,没有任何限制。我们当前的项目有三分之一是在 CSharp 中进行的,其余的项目是在 VB 中完成的,部分 MvvmForms(例如 Mvvm 基础库)也在 CSharp 中。其他部分用VB编写。因此,只要您使用 Windows 窗体,就可以继续使用 - 语言并不重要,
是的,对于开源项目。对于正规的商业项目来说,它不是完全免费的,但也几乎和免费一样好。我们的主要目标是寻找新的机会来帮助我们在设计 LOB 应用程序方面拥有 25 多年的专业知识,特别是向我们的客户展示一种将他们的软件从大型、单一的 Win32 软件迁移到无风险的现代方法的方法,他们可以继续使用云计算、Windows 10、移动应用程序等,而无需从头开始重做所有事情。
因此,如果您希望我们通过举办研讨会、帮助设计新架构、寻找可行的迁移概念、向您的团队介绍 Scrum 或在有限时间内提供人力资源来帮助您处理现有应用程序,在现代化过程中,我们带来了 MvvmForms。那么它对您来说是免费的,因为您是我们的客户。继续使用它:如果您曾经是或曾经是我们的客户,您就获得了任何商业用途的隐式许可。但是,如果您不需要我们,但想要工具集,请与我们联系,我们会为您找出最佳支持模型:[email protected]。
如果您正在 GPL 下维护一个开源项目,并且您想使用它。继续:分叉它,更改它,修改它,然后将其与您的开源应用程序一起出售。这就是开源!只要链接到它的应用程序或使用从 MvvmForms 派生的类也是 GPL - 那完全没问题。但是,如果您正在管理专有的闭源解决方案,并且想要使用(链接到、派生自)MvvmForms,则必须为每个活跃开发人员获取一份许可证。
是的。只需创建拉取请求。