对于MVVM的困惑

问题描述

我是一工作一年的WPF程序员,现在在使用MvvmLight,慢慢的深入之后,我发现我做的项目虽然能在.cs文件中不写逻辑代码,但是在ViewModel也会有直接操作控件的情况,就是把控件当参数传递给ViewModel,这种直接操作控件而非操作数据的做法是否违背了mvvm的精神或者什么的,感觉不是纯粹的mvvm了,我就是我的困惑。

解决方案

解决方案二:
有什么情况需要把控件传递给viewmodel呢?你应该想办法用数据绑定和触发器来代替viewmodel中对控件进行的操作
解决方案三:
viewmodel应该是和view无关,也就是说,view中绑定的viewmodel中的方法应该都是无参的,所有viewmodel所需要的信息都应该通过数据绑定获取。写得好的viewmodel完全可以脱离view完成业务逻辑,这也是MVVM的一个优点,可以做单元测试。当然,也不是说,完全就不能要view的cs文件。有些功能是和业务无关的操作,也是应该写到view的cs文件的。例如,无边框窗体实现拖动
解决方案四:
我认为有用户交互逻辑的话,是需要view内部进行处理的。而数据的处理,交给viewmodel
解决方案五:
引用1楼songbing774933的回复:

有什么情况需要把控件传递给viewmodel呢?你应该想办法用数据绑定和触发器来代替viewmodel中对控件进行的操作

或许是我编程的思想还没转变过来,总想着去操作控件,没有基于MVVM的思想去解决问题
解决方案六:
引用2楼songbing774933的回复:

viewmodel应该是和view无关,也就是说,view中绑定的viewmodel中的方法应该都是无参的,所有viewmodel所需要的信息都应该通过数据绑定获取。写得好的viewmodel完全可以脱离view完成业务逻辑,这也是MVVM的一个优点,可以做单元测试。当然,也不是说,完全就不能要view的cs文件。有些功能是和业务无关的操作,也是应该写到view的cs文件的。例如,无边框窗体实现拖动

受教了

时间: 2024-12-03 07:19:16

对于MVVM的困惑的相关文章

windows phone mvvm开发中关于listpicker问题

问题描述 windows phone mvvm开发中关于listpicker问题 在没使用mvvm开发时,对于listpicker 木有发现啥问题 当在mvvm中 listpicker 的SelectionChanged事件,会出现第一次选择某一项时,不管选择哪一项,都会获取到 索引为0的 第一项,第二次选择时,则获取到 第一次选择的那一项,之后以此类推.困惑啊 如果是 直接在cs 文件写该事件的话 在加载的时候 就会运行到 SelectionChanged事件,并获取到默认第一项的值 请教下大

从大三开始奋发的程序员面临新的困惑……

这是一封让我受教育的求助信,主人公的经历本身就是一个励志故事: 这是一个我不擅长回答,但愿意谈些看法的问题: 这封信让我们看到人的力量有多么强大,机会得需要用心的人抓住,汗水浇涛的永远是成就: 这封信中谈及困扰是种幸福的困扰,是写信人自己创造的幸福,而幸福终将更加持久: 这封信也让我再次意识到:疑惑最终需要当事人自己解答,动笔写下来,这是一个朴素有效的办法.其实我给那么多人回信,我希望的也仅仅是我的文字能启发当事人的思考: 给我的信件,我会隐去来信者的基本信息发布到博客上,以求有同类问题的读者共

关于bitkinex的困惑!!!!!!!!

问题描述 关于bitkinex的困惑!!!!!!!! 1C 求教大神为什么的链接上之后显示的都是空的文件夹,我是通过*.ds文件自动连接的 然后进去就只看到文件夹 没有源码文件 求教大神怎么回事 解决方案 ????今天看完了"农民打工供儿上大学?儿子毕业后工资不如自己"的报道,我心里触动很大也让我更加清楚是大学生就不一定有好工作.我开始困惑了,我不知道这样的大学值不值的上,能给我们的人生增加多少色彩.我问我一个很好的朋友,在大学对着课本死看有什么价值,你收获到了什么,并且毕业后找不到好

javascript-麻烦看下这段JQ代码,有一些困惑

问题描述 麻烦看下这段JQ代码,有一些困惑 $(function(){ var myScroll2=null; function menuInit(){ var _menuScroll = $("".menuScroll""); var _menuScroll_size = _menuScroll.find(""li"").length;//获取 li长度 var liWidth = 0; $("".men

设计方面的一些困惑:网页设计的思考和答复

文章描述:如此设计需要理由吗? 一.作品积累(无常于2012年9月3日星期一) 群主,您好!我的问题其实就一句话:在工作量不足的情况下如何积累属于自己的作品? 我所在的公司很安逸,福利啥的都还不错,这也是我的家人始终不让我换工作的一个主要原因吧,可是我已经毕业两年了,一直在这一家公司做美工的工作,记得工作满一年的时候,我特别开心,啥都没有想过,还搞庆祝呢.可是眼下我已经工作两年了,尤其是今年,自从春节以来我几乎没有做过什么,一直是在"混日子",我强烈的感觉到我不能再继续在这家公司呆下去

谈谈新站长做友情链接推广的一些困惑

本人做站差不多一年,一开始完全是凭兴趣做站,由于技术水平不高,做出来的站版面真的不敢恭维.虽然这样,我还是抱着最大的热情去做站,只要自己尽力了,做得好不好看并不重要.自己也一直在努力的学习网站制作知识,只要与做站有关的都去学,当然是自学了,这时候才知道想做一个出色的站长真的不容易啊,学Dreamweaver,CSS,ASP,PHP,平面设计,Flash动画,SQL等等,真的比读大学还要辛苦! 建立一个网站要学那么多东西,辛苦!当然,对那些本来就是学这些的人可能就不是什么难的事了,但对我们这些外行

SEO服务商的困惑与可疑的搜索引擎优化服务

其实在看到zac的这边文章的时候,还是感觉到有很大的同感.他提到可疑的搜索引擎优化服务提供商,搜索引擎优化客户自称有Google内部渠道,有很多人自称和搜索引擎有某种特殊联系,能保证你的网站排名等.可以肯定的说,任何人在推销搜索引擎优化服务的时候,如果说他有什么内部渠道,与Google等公司有特殊联系之类的话,可以肯定,这个人是个骗子无疑. 还有几种典型的,非常可疑的搜索引擎优化服务提供商,有一些我觉得十分好笑,可是却总有人上当受骗. 第一种最好笑的是发垃圾邮件给你.我每天至少会收到几十封这样的

浅谈:百度的做法真让人困惑

最近,我新上的一个网站,分别提交到了百度与谷歌,但实际收录情况却与以前的新站大为不同,让我十分困惑.淘宝美容超市于2011.03.10日正式上线成功,这个网站主要是以淘宝美容相关产品主,如减肥,丰胸,祛痘,美白,祛斑,增高等,网站内容主要以淘宝产品与相关文章为中心,网站整体构架还算清晰,内容我也是进行原创的.应该说还算是一个不错的网站.于是,我就在当日下午向两大搜索引擎分别提交了网址,期待收录. 到了第二天早上,我一上班就查看了一下百度与谷歌的收录情况,情况是这样的:百度收录了首页,而谷歌收录了

一个新手seoer的困惑:用户体验给谁看?

看到标题大家就知道,奈何这篇文章是来吐槽百度的用户体验的.当然,大家别误会,奈何今天说的用户体验,不是上次那种zac老师的博客被踢下百度首页,"神马网"强势插入这种事情,奈何今天来算是现身说法,来说说自己接触的seo和网站用户体验. 这么说的话,我们首先就要说说奈何的职业:一个网络公司的职业seoer,我们公司主要经营网络方面的服务,当然,我们部门主要是网站建设.网站改版和网站优化方面的工作,奈何手里的这个网站,也就是这两个方面的内容.说道这个用户体验,相信业界的同行们也基本上都有差不