摘要: 本文介绍在 MVVM 中,如何用 ViewModel 控制焦点。 这焦点设置个东西嘛,有些争论。就是到底要不要用 ViewModel 来控制视图的键盘输入焦点。这里不讨论,假设你就是要通过 VM,设置输入焦点在哪里。 MSDN 有解释关于 Focus 的,还有 FocusManager,点击这里打开。不知道的话建议你先看看,只求结果的可以直接看下面代码,抄就是了。这次,初级的解释全部略过,直接说做... 阅读全文
posted @ 2013-08-31 11:22 Lepton 阅读(3195) 评论(0) 推荐(0) 编辑
摘要: IValueConverter,做 WPF 的都应该接触过,把值换成 Visibility 、Margin 等等是最常见的例子,也有很多很好的博文解释过用法。本文只是解释一下,MVVM 中一些情景。 我遇到过一个用例,做些简单的数据可视化。要求把 enum 换成图片。 MVVM 模式下,是通过 ViewModel 把业务类 Model 暴露给 View,用绑定完成 ViewModel 和 View... 阅读全文
posted @ 2013-08-30 15:48 Lepton 阅读(1864) 评论(0) 推荐(0) 编辑
摘要: 本文说明怎样把 DoubleClick 连接至 ICommand。方法很多。推荐使用 Attach Property 方式,因为它能把任何 RoutedEvent 接上任何 ICommand。 之前写过一篇博文关于 MVVM 中双击事件触发 ICommand 的办法,我说要么你自己写 Attached Property,要么下载别人写好的,比如支持 Collections 的 CommandBeh... 阅读全文
posted @ 2013-08-24 12:40 Lepton 阅读(2179) 评论(4) 推荐(0) 编辑
摘要: 树结构放在 WPF ,有大家熟悉的 TreeView、Menu / MenuItem 等等,自定义的话它是 HierarchicalDataTemplate。 用上 MVVM 模式,视图与数据分离,意味着你不再需要管 UI ,不用再在 TreeView 内上上下下跑来跑去找控件了。MVVM 不是把树结构变成不是一颗树,只是,你操作的,是一个具树结构的集合而已。我很怕搞 UI,我觉得,这是个解脱,起... 阅读全文
posted @ 2012-09-26 23:35 Lepton 阅读(3622) 评论(0) 推荐(3) 编辑
摘要: 接上篇,我留到这里才介绍怎样测试,因为不会做的话也不会测做得对不对。说是单元测试的话,其实应该设计好 Model 后,定好大概 VM 内要干什么之后,马上可以动手写测试代码。 很多公司没有规定如何测试,更加没有单元测试,也没考虑 TDD,或许是有他们的原因的,不一定是因为水平问题的,也不一定是同事能力所限。还真的有很多人,很多老开发,不愿意写测试。这测试只是一种开发方法,是其中一个而已。没有所谓... 阅读全文
posted @ 2012-06-28 12:12 Lepton 阅读(4161) 评论(3) 推荐(1) 编辑