MvvmForms

2025-12-10 0 377
layout title permalink description date tags
post MvvmForms Readme new-page.html Readme for Mvvm Forms 2015-05-17 16:31:30 -0700 MVVM; Windows Forms

MvvmForms ReadMeFirst!

Welcome to ActiveDevelop\’s MvvmForms Library Project. MvvmForm\’s purpose is to provide XAML ViewModel compatible support for Windows Forms Visual Basic and CSharp Projects and Solutions including a full-blown WinForms Designer support. MvvmForms is Open Source (GPL), but Dual License. For more Information about MvvmForms licensing read the License section below.

Why Mvvm for WinForms? Does it make sense? Why not using WPF/XAML to begin with?

If you have the luxury of a clean start for your new project, and your development team is up to the task, you most probable do not need MvvmForms. But that is not that often the case. In most scenarios hundreds of millions of lines of code have been written for the Windows platform during the time between 1996 and 2010, and often in CSharp and Visual Basic .NET for Windows Forms, or even with Visual Basic 6. Many companies don\’t have the means of throwing those projects away and start from scratch. And what for, anyway? Your solution works, it is stable and tested. So, why not continue using it?

MvvmForms is for you if you want to change your development paradigm. If you want to get rid of Code Behind and introduce a good architecture with separation of concerns. If you want to build based on an architecture which allows unit testing. If you want to create an multi-tier architecture from your existing software simply by refactoring part by part, where you can reuse big parts of the software for different UIs like for Windows Universal Apps, iOS Apps or Android Apps.

Our company, located in Westphalia Germany, has specialized in migrating from a typical Windows Forms Code Behind paradigm to a modern architecture. And we help to do this in a feasible way. We know, your team does neither have the time nor the budget to start from scratch, and that is the reason we developed MvvmForms: To help our customers to enter the new world of software development without jeopardizing the project.

How does it work?

MvvmForms is a collection of controls for Windows Forms. Originally, it was designed to speed up the development process for data-heavy forms, and to address the need for database backends with their typical scenarios like zero-effort-handling of DBNulls, dirty-state handling of forms, focus highlighting, processing of formulas in numeric data entry fields, multi-threaded/multi-column lookup popups for collections up to 100.000 items, and much more. Sometime in mid-2012, a couple of German companies approached us to find a way to keep their existing Windows Forms design, yet they wanted to be able to apply the Mvvm pattern for parts of their LOB applications, so they could reuse this code in mobile apps and for other purposes. That was the start for MvvmForms, and we developed it from the existing toolset. This worked exceptional well, so we continued this approach and added rich designer functionality for the Mvvm components.

Because of this history, MvvmForms actually addresses two Windows Forms requirements. The first is to simplify designing data-heavy forms by providing controls like NullableDateValue, NullableNumValue, NullableTextValue, controls for DirtyState handling in Forms and so on.

The second one is to enable a Windows Forms for Mvvm. For this to end, you do not need to use one of the controls MvvmForms provide, you just need one component: the MvvmManager component. Basically, just drag that component into your form, set its DataContextType property to the type of the ViewModel, you want to bind, and every control on that form will get a PropertyBindings property which allow you to bind against the corresponding ViewModel property. You just need to set the DataContext property of the MvvmManager Component at runtime. You\’ll find a short step-by-step guide for getting started, read the wiki – the links is here on the right side.

On top: take a look at this introduction video on youtube, which does not only give an introduction to MvvmForms, but also to MVVM in general.

https://www.yo**u*tube.com/watch?v=1R_81Np5New

How stable is MvvmForms? Have you done large LOB projects with it?

Oh, yes! Our team at ActiveDevelop is taking care of MvvmForms on a daily bases, because a couple of big projects in Germany rely on MvvmForms – some bigger than 1 Million lines of code. Since we are a German company, and we\’re started to localize MvvmForms to English, there are still a lot of German comments and XML-Docu-Tags inside the source – but we\’re working on it. But, MvvmForms is ready to be used, it is stable, reliable, thoroughly tested, and if you need special support or want to start with it urgently and need us to customize, localize or extend its functionality, than simply talk to us, so we can find a way to make this happen.

Can I use it both for CSharp and Visual Basic WinForms Projects?

Yes, with no limitations. A third of our current projects are in CSharp, the rest we do in VB, and parts of MvvmForms (the Mvvm Base Library for example) are in CSharp, as well. Other parts are in VB. So, as long as you do Windows Forms, your good to go – the language doesn\’t matter,

So, MvvmForms is Open Source. Then, it\’s free, right?

Yes, for open source projects. For propriety, commercial projects, it\’s not entirely free, but also almost as good as free. Our primary goal is to find new opportunities to help with our 25+ year expertise in designing LOB Applications, and especially to show a way for our customers to migrate their software from being a big, monolithic Win32-Software to a modern approach without risk, where they can go forward with cloud computing, Windows 10, Mobile Apps, and all that without redoing everything from scratch.

So, if you want us to help you with your existing Application by doing workshops, helping with designing a new architecture, finding a feasible migration concept, introducing Scrum to your team, or providing human resources for a limited period of time for the purpose of the modernisation process, we bring MvvmForms along. Then it\’s free for you, because you\’re our customer. Go ahead and use it: You got an implicit licence for any commercial use, if you are or have been our customer at one point. If you, however, do not want us, but you want the toolset, just talk to us, and we figure out the best support model for you: mvvmforms@activedevelop.de.

If you\’re maintaining an open source project under GPL, and you want to use it. Go ahead: Fork it, change it modify it, and sell it along with your Open Source App. That\’s Open Source! As long your Application which links to it, or uses classes which derive from MvvmForms is also GPL – that is perfectly OK. But, if you\’re managing a propriety, close source solution, and you want to use (link to, derive from) MvvmForms, you have to obtain one license per active developer.

Can I contribute?

Yes. Just create Pull Requests.

下载源码

通过命令行克隆项目:

git clone https://github.com/KlausLoeffelmann/MvvmForms.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 编程相关 MvvmForms https://www.zuozi.net/33434.html

FastSearch
上一篇: FastSearch
best of ml python
下一篇: best of ml python
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务