摘要: 最初的想法 这次主要讨论下给View指定ViewModel的事情。一般来说给View指定ViewModel常用的方式有两种,一种是在View的后台代码中写DataContext = new ViewModel(),还有一种是在XAML中指定View的DataContext。这两种方式都使得View对 阅读全文
posted @ 2018-01-18 11:36 黑暗时代地表人 阅读(609) 评论(0) 推荐(0) 编辑
摘要: 还需要些什么呢 在前面几篇博客中我们尝试去实现了MVVM中的数据绑定、命令绑定和事件绑定。貌似实现的差不多了。我最早尝试用MVVM去开发的时候也是这么想的,没有用第三方框架,甚至只是实现了数据绑定和命令绑定就开搞了,遇到需要订阅事件的时候就把代码写在后台。那时候经常自我洗脑:设计模式是死的,人是活的 阅读全文
posted @ 2018-01-18 11:30 黑暗时代地表人 阅读(670) 评论(0) 推荐(0) 编辑
摘要: 为什么要事件绑定 这个问题其实是很好理解的,因为事件是丰富多样的,单纯的命令绑定远不能覆盖所有的事件。例如Button的命令绑定能够解决Click事件的需求,但Button的MouseEnter、窗体的Loaded等大量的事件要怎么处理呢?这就用到了事件绑定。 事件绑定 要使用事件绑定需要借助Sys 阅读全文
posted @ 2018-01-18 11:24 黑暗时代地表人 阅读(1148) 评论(1) 推荐(0) 编辑
摘要: 命令绑定要达到的效果 命令绑定要关注的核心就是两个方面的问题,命令能否执行和命令怎么执行。也就是说当View中的一个Button绑定了ViewModel中一个命令后,什么时候这个Button是可用的,按下Button后执行什么操作。解决了这两个问题基本就实现了命令绑定。另外一个问题就是执行过程中需要 阅读全文
posted @ 2018-01-18 11:18 黑暗时代地表人 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 数据绑定要达到的效果 数据绑定要达到什么效果呢,就是在界面中绑定了数据源之后,数据在界面上的修改能反映到绑定源,同时绑定源的修改也能反映到界面上。从界面反映到绑定的数据源是很容易理解的,因为在绑定过程中我们指定了DataContext和Binding的对象,很容易找到绑定的源并修改。但数据源修改时怎 阅读全文
posted @ 2018-01-18 11:05 黑暗时代地表人 阅读(309) 评论(0) 推荐(0) 编辑
摘要: MVVM模式简介 MVVM是Model、View、ViewModel的简写,这种模式的引入就是使用ViewModel来降低View和Model的耦合,说是降低View和Model的耦合。也可以说是是降低界面和逻辑的耦合,理想情况下界面和逻辑是完全分离的,单方面更改界面时不需要对逻辑代码改动,同样的逻 阅读全文
posted @ 2018-01-18 10:48 黑暗时代地表人 阅读(369) 评论(0) 推荐(0) 编辑