代码改变世界

随笔分类 -  MVVM

IList与IList[T],自定义接口IActionList

2012-08-28 14:45 by 旦旦, 2431 阅读, 收藏, 编辑
摘要: 附件:ActionList.rarWPF DataGriw采用编辑模式,用户可以双击最尾的空白行从而新加一条记录.也可以选择行记录后按键盘Del键来删除选择的记录,做完一系列的操作后一次性把数据都保存到远程数据库中.那在MVVM中Ui和后台是分离的.不能直接知道那样那数据是新加\还是修改\有那些数据是被删除的了.那当前操作的集合表面保存的数据就不一定是这次一系列所有操作的数据.那只是操作过后所要保留下来的数据而以.为了触屏这样子的问题很多人一般都会写多几个按钮(如下图).把相应的操作都进行记录下来.这本来也不是什么不好的解决方法.但要是DataGrid这控件本来就是使用方便.管理数据还要这么多 阅读全文

一步一步分析Caliburn.Micro(二:绑定执行方法Message现学现卖之自定命令)

2012-08-17 10:12 by 旦旦, 2457 阅读, 收藏, 编辑
摘要: 还记得上章中说到的CM演示程序中出现的cal:Message.Attach="[Key Enter] = [EnterPressed]" 吗?在分析代码中可是见不到Key这个事件触发关键字的.看看CM是怎么允许让我们在适当的范围内修改吧.打开在官网上下载的原代码的samples目录下Caliburn.Micro.KeyBinding方案.打开解决方案发现项目很简洁没什么文件.KeyBindingBootstrapper.cs 对这个委托的重写会不会觉得让人觉得很特别呢.看上去很不习惯呢.让我们以一个正常的重写代码.演示下这段代码protected override Trig 阅读全文

一步一步分析Caliburn.Micro(一:绑定执行方法Message)

2012-08-15 11:34 by 旦旦, 5240 阅读, 收藏, 编辑
摘要: 分析扩展类Message.Attach前我们现以标准MVVM的形式看下,通过比较才会知道CM带来的方便.下面用的例子都为CM源码中找出来的代码段.cal:Message.Attach="DeactivateItem($dataContext, 'true')"cal:Message.Attach="[Key Enter] = [EnterPressed]"cal:Message.Attach="[Event MouseDoubleClick] = [Action ShowView]; [Event Click] = [Actio 阅读全文

一步一步分析Caliburn.Micro框架(序)

2012-08-14 10:26 by 旦旦, 4572 阅读, 收藏, 编辑
摘要: Caliburn.Micro(多数人叫CM)是一个开源的MVVM开发框架,主要应用范围是WPF\Silverlight\WinPhone以Xaml为UI的开发框架.与众多的MVVM框架相比较.个人觉得CM是我用得最习惯最快捷的一个框架.让人的感觉到不会像微软的prism很大很臃肿,又不像MvvmLight轻巧到只有几个文件只能做简单的MVVM功能.与我一起用过CM的同事都说这个框架用起来很方便.直接实例对象然后放到一个WindowsManager的类或.Conductor<IShell>.Collection.OneActive继承类上的特定方法就可以与UI自动绑定(虽然用的是命名 阅读全文