摘要: 下面是我研究DataGrid的一点心得:首先wpf datagrid binding,网上的列子多不胜数,这里就没必要再列举了,下面主要说的是datagrid的焦点控制。默认的datagrid焦点控制都是由Tab控制的,按一下tab,焦点移动到下一个.但是其他的控件的焦点控制是用回车控制的,不是很统一。接下来我所要做的就是用回车键来控制datagrid的焦点移动。先来说说我网上搜到的方法:public class ExDataGrid:DataGrid { protected override void OnPreviewKeyDown(System.Windows.Inp... 阅读全文
posted @ 2013-09-06 14:31 gavin.huang 阅读(360) 评论(0) 推荐(0) 编辑
摘要: MarkupExtension:msdn上定义:为可以由 .NET Framework XAML 服务及其 XAML 读取器和 XAML 编写器支持的 XAML 标记扩展实现提供基类。个人使用下来的感觉有点类似于附加属性,但是附加属性是用来定义的赋值的,而该扩展类可以用来作为变量绑定附加属性或者依赖属性。每个继承MarkupExtension的类都需要override一个方法:public override object ProvideValue( IServiceProvider serviceProvider)当中参数IServiceProvider serviceProvider可以提供 阅读全文
posted @ 2013-09-06 14:05 gavin.huang 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 前段时间一直在做项目的压力测试,奈何天意弄人,测试一直在出问题,从数据库,到服务器cpu,再到内存,不停地在调试,检测,修改,再调试。下面就将windbg的使用心得总结下。1:先要下dump,为了分析内存泄露,至少要下好几个dump比较。2:下完dump后,就可以使用windbg打开该dump了,使用!dumpheap -stat命令,分析其中的内存分布,比较各个dump的可疑之处。初步确认几个可疑的内存泄露。3:确认可疑泄露支出后,使用!dumpheap -type 命令,以及!gcroot,查询泄露的出处。4:检查上一步的几个源码,分析内存泄露。 阅读全文
posted @ 2013-08-29 10:35 gavin.huang 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 从msdn中解释WCF:WCF 通过一种面向服务的新型编程模型简化了关联应用程序的开发。通过提供分层的体系结构,WCF 支持多种风格的分布式应用程序开发。WCF 通道体系结构在底层提供了异步的非类型化消息传递基元。而建立在此基础之上的是用于进行安全可靠的事务处理数据交换的各种协议功能,以及广泛的传输协议和编码选择。下面是wcf的配置介绍:了解了wcf的大致情况,下面是总结的一些wcf运行步骤:WCF Dispatching SystemStep 1: ServiceHost和ServiceDescription的创建ServiceDescription Behaviors ServiceBeh 阅读全文
posted @ 2013-08-28 11:10 gavin.huang 阅读(519) 评论(1) 推荐(0) 编辑
摘要: 最近,工作中用到了vbs脚本,发现了一个很坑的问题,需要用vbs脚本去覆盖应用下的dll,但是如果文件是只读属性的,就会报800A0046,没有权限错误,如果该应用正在运行,也会报同样错误,vbs基本没怎么用过,经过多天的学习,终于写了一个可以运行的脚本,供大家分享.基本功能:1:判断指定应用是否运行,如果运行,则等待4S,4S后如果仍在运行,则停止该脚本.2:在复制文件前,先去目标路径下,将要覆盖的文件去除只读属性.3:使用递归方法,读取将要拷贝的文件,并替换路径,得到目标路径.具体实现1:判断指定应用是否运行,如果运行,则等待4S,4S后如果仍在运行,则停止该脚本.Sub Validate 阅读全文
posted @ 2013-06-28 14:31 gavin.huang 阅读(420) 评论(0) 推荐(0) 编辑
摘要: 休息日,没事想放松下,感受一下大众瞩目的LOL,可惜刚打开就提示需要更新,一看要更新好几百m,顿时郁闷之极,就为了玩个游戏,每个星期都得更新个半天.然后无聊了半天等待下载,发现闲着也是闲着,研究学习了,似乎LOL也是.net框架的,顺便就学习下自动更新吧. 1.自动更新,首先要比较服务端和客户端相关文件,具体比对哪些内容呢?修改时间,文件大小,文件内容等等,比对内容很多,这个时候就想到了用md5比较,具体实现: public static byte[] GetFileMd5(this FileInfo fileInfo) { using (var fs = ... 阅读全文
posted @ 2013-05-06 13:35 gavin.huang 阅读(293) 评论(0) 推荐(1) 编辑
摘要: 最近运行程序速度非常慢,最方便,不动脑子的方法,重装系统,ok.开始很顺利,装系统,装vs2010,装各种补丁,插件.一切顺利.接着打开vs,噩梦开始了.原来有关好几个工程,结果打开除了打开个别工程没事,其他都直接崩溃.错误信息:错误应用程序名称: devenv.exe,版本: 10.0.30319.1,时间戳: 0x4ba1fab3错误模块名称: kernel32.dll,版本: 6.1.7600.16385,时间戳: 0x4a5bdaad异常代码: 0xc0000005错误偏移量: 0x00042523错误进程 ID: 0xb0c错误应用程序启动时间: 0x01ce46d812927ba4 阅读全文
posted @ 2013-05-04 11:10 gavin.huang 阅读(1052) 评论(2) 推荐(0) 编辑
摘要: 大家好,这段时间又研究了一下wcf的通信,一般都是client call service,service响应,返回信息给client,这个时候需要用到的binding(如wsHttpBinding,basicHttpBinding).但是有时候,可能逻辑都写在服务端,然后界面写在客户端,控制界面的逻辑都是由服务端控制的,这就需要由服务端去callback客户端,这时候就需要用到binding(WSDualHttpBinding,NetTcpBinding)在WCF预定义绑定类型中,WSDualHttpBinding和NetTcpBinding均提供了对双工通信的支持,但是两者在对双工通信的实现 阅读全文
posted @ 2013-03-30 22:37 gavin.huang 阅读(618) 评论(0) 推荐(0) 编辑
摘要: 最近在研究项目平台启动,发现使用的是CompositionContainer,就对其起了兴趣,初步研究了一下,发现时MS提供的扩展性框架 MEF,下面是本人的一点心得和大家共同探讨。MEF定义:Managed Extensibility Framework(MEF)是.NET平台下的一个扩展性管理框架,它是一系列特性的集合,包括依赖注入(DI)等。MEF为开发人员提供了一个工具,让我们可以轻松的对应用 程序进行扩展并且对已有的代码产生最小的影响,开发人员在开发过程中根据功能要求定义一些扩展点,之后扩展人员就可以使用这些扩展点与应用程序交互;同时MEF让应用程序与扩展程序之间不产生直接的依赖,这 阅读全文
posted @ 2013-03-29 10:55 gavin.huang 阅读(873) 评论(1) 推荐(1) 编辑
摘要: 最近在看一些关于wpf 3d的效果,研究了一些代码特效,现在和广大博友共享一下.首先用到的是MeshGeometry3D,msdn上介绍:用于生成三维形状的三角形基元。主要有4个依赖属性:NormalsProperty,PositionsProperty,TextureCoordinatesProperty,TriangleIndicesProperty。4中属性具体含义大家可以直接参考msdn上。具体代码如下:MeshGeometry3D meshGeometry3D = new MeshGeometry3D(); Point3DCollection posit... 阅读全文
posted @ 2013-03-20 15:01 gavin.huang 阅读(421) 评论(0) 推荐(0) 编辑