代码改变世界

[置顶]一步一步分析Caliburn.Micro框架(序)

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

C# 组件模组引用第三方组件问题

2019-03-13 15:13 by 旦旦, 1853 阅读, 4 推荐, 收藏, 编辑
摘要:对接上一文章由于是动态加载指定程序集,会把当前目录下所有dll都加载进来。如果像sqlite这种第三组件调用了由C、C++非.net语言所以生成的Dll。因为自动生成的原因。会把非C#生成的dll都加载入来导致加载失败。程序异常。那结果当然不是我们想要的结果了。 怎么避免这类事情的发现。那竟然不能加 阅读全文

C# 动态加载组件后怎么在开发环境中调试

2019-03-11 14:04 by 旦旦, 2166 阅读, 10 推荐, 收藏, 编辑
摘要:动态加载组件 那就是简单的Assembly.Load动态加载dll而以。这网上资料也有不少。基本的思路基本上就是在本地上一个指定目录如【plugs】存在着一堆dll文件。主程序在初始运行时一般会把指定目录下的dll一次性用Assembly.Load加载进来。只要把指定目录变成从网络加载,或者加载指定 阅读全文

EntityFramework - Migrations

2016-04-13 12:15 by 旦旦, 627 阅读, 2 推荐, 收藏, 编辑
摘要:EntityFramework - Migrations 對項目進行EF的數據庫升級操作。分爲開發環境與部署環境。上的操作總結。 引用: Command說明https://coding.abel.nu/2012/03/ef-migrations-command-reference/ 開發環境 項目引 阅读全文

Execl DataTime Format Number

2014-12-26 14:36 by 旦旦, 343 阅读, 0 推荐, 收藏, 编辑
摘要:Excel 中日期类型所保存的值是数值型。只是设置了为日期格式,通过公式转换从而得出我们平时常用的日期内容。也很好理解这公式所要说明的意思。数值是个浮点型可以分成2部分看。整数部分:年月日(日期)小数部分:时分秒(时间)思路整数部分:(已知年-1900)*365+已知年/4的整数部分-1900/4+... 阅读全文

与领导的博弈

2013-03-20 16:25 by 旦旦, 1960 阅读, 1 推荐, 收藏, 编辑
摘要:怎么跟不懂行的领导但又偏偏爱插上一脚的领导对弈。对于这样子的领导基本上口头交涉是不会成功的。要做的就是把领导提出的功能做出来还是做的最差的Bugs满天飞开发时间可以尽量拉长点为自己设计的方案提前做好准备。然后就要跟领导说出你的委屈说这都是按你的要求来写的不过由于开发时种种问题而出现现在一系列的情况如果还这样子下去的话可能还会有什么情况会发生如果现火药味的话这时领导基本都会不耐烦的话我只要结果不要过程。走上绝路后才能更好的跟领导交谈说如你要想法界面会变成怎么样,一般这样领导还会插上一脚非要改你设计的界面让人觉得说看看经过我简单处理有画龙点睛味道。由于自己设计的方案都做好准备了这时进行开发基本上会 阅读全文

小技巧-字符串比较

2013-03-19 17:01 by 旦旦, 360 阅读, 0 推荐, 收藏, 编辑
摘要:String类型话说“字符串”是我们平时最常用的数据类型之一,它表示一个字符序列。判断两个字符串是否相等以下的几种情况对于业务逻辑来说一般都是一样的。类型分配存储空间1null2string.Empty3""是4" "是判定为空字符串的几种写法,按照性能从高到低的顺序是:s.Length == 0 优于 s == string.Empty 优于 s == ""但实际判断字符串为空时不是所有数据都由自己定义的string.Empty来付值的外部产生的数据可能是1、4情况这是就不能单单用字符串的长度来判断为0时就为空字符串了。以下是框架自 阅读全文

以简单功能代码示例讲解我的开发经验

2013-01-19 15:52 by 旦旦, 1956 阅读, 2 推荐, 收藏, 编辑
摘要:编码基本上每位程序员都是会的但由于每位程序员的习惯都有所不同从而产生了各式各样的编码。怎么样的代码是最好的?这好像就没有一个很好的说法从我自己几年的开发经验觉得好的代码应该具有以下几点特性:易读:命名、函数内上下文件流程(达到基本上不用注释都知道这是的是什么)易扩展:有新的需求时可以不改动(少量改动)以前的代码就可以完成易维护:用少量的时间就可以完成维护过程(这与前两个有很大的关系)这好像是地球人都知道的但做起来又是另一回事,还是以一个数据逻辑为原型来细说。现在一堆区间数组把相交的区间数组合并起来得出新的区间数组效果如下:原始区间数组:{3,5}{1,5}{5, 9}{6, 8}{-9, 5} 阅读全文

一步一步分析Caliburn.Micro(三:绑定执行方法ActionMessage是怎么执行的)

2012-08-30 14:19 by 旦旦, 1783 阅读, 0 推荐, 收藏, 编辑
摘要:上次只是分析怎么把命令字符串保存到ActionMessage类,把参数绑定到Parameter属性上如果是Binding所产生的变量参数还好理解.其它的常量和带$变量的就不好理解了.那可是一连涉及到BindingScope, ConventionManager,View这几个类的. ActionMessage是继承 TriggerAction的这是触发器所执行的触发动作.写过自定触发器的人应该知道我们一般会重写OnAttached(生成UI控件时所附加代码), OnDetaching(关闭UI控件时对应的释放代码做到有借有还原理不让过度浪费资源), Invoke(触发器最终执行的代码)通过树形 阅读全文

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

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

WPF MVVM DataGrid数据直更新

2012-08-26 23:12 by 旦旦, 7976 阅读, 0 推荐, 收藏, 编辑
摘要:WPF MVVM所有类基本上都会实现System.ComponentModel.INotifyPropertyChanged接口 .举例为TestModel实体类A3只是A1与A2的数据处理后显示,只要A1或A2有更新的情况前台UI都有变化实体如下. 但在DataGrid中有个很特别的问题,进入了编辑模式但在更新A1时退出当前单元的编辑模式,而不退出编辑行时A3的数据是不会有反应的变化.这样子有才生了一个问题,如果有好几个属性都是有关联的不可能为了知道属性处理真的变化,让客户换行后,发现数据不对了返回那个行进行编辑吧.这样也太友好了.那样实际下图的功能呢 .这样主是用到MVVM的Binding 阅读全文