Visual Studio Setting
Visual Studio导出的Setting
油耗计算器
网上找了个油耗计算器,不过发现他没有建个油耗,所以自己加上了,不过好像算的不太准,呵呵,凑合看吧
EditableTextBlock
WPF制作的In-PlaceEdit的TextBlock控件。
在线DailyBoard_V0.1
对于昨天上传版本的改进,界面改进
应用于Scrum敏捷流程的DailyBoard,使用WPF的MVVM模式开发
在线DailyBoard
使用WPF MVVM模式制作的DailyBoard,纸质的DailyBoard小纸条总是掉下来,因此制作了这个,界面不是很美观,不过基本的功能都有,大家可以修改界面
Silverlight连接数据库简单示例
使用Silverlight做的连接数据库的尝试,使用MVVM方式,ADO.net
WPF异步加载DataGrid Version 0.2
昨天上传了一个版本,该版本编辑状态有误,禁止了DataGrid中的修改,改为双击弹出对话框修改。
WPF异步加载DataGrid
WPF制作的DataGrid异步加载程序,使用MVVM设计模式
WPF图形系统原型
WPF做的图形系统,并关联了后台数据,属于原型
WCF实现的CheckOnline与TimeSynchronize
修正了上一版本中CheckOnline中的设计缺陷,并使用TimeSynchronize项目来验证CheckOnline的架构
CheckOnline与时钟同步
前一版本发了CheckOnline,对CheckOnline进行了完善,并使用了TimeSynchronize验证了CheckOnline的架构
WCF实现的CheckOnline服务
使用WCF开发的CheckOnline服务,服务器可以限制客户端数量,并能够检测到客户端是正常退出,还是网络断开,客户端能够实时得到服务器连接状态
DynamicDataProvider
实现IDynamicMetaObjectProvider接口,完成了自定义dynamic对象的工作
Code compiler
将自己写的代码便已成为程序集,代码编译
希望对大家能有帮助
Diagram designer
code project上面下的老外写的wpf的类似于visio的东西,学习一下,呵呵
Dynamic对象尝试
Dynamic对象尝试 Dynamic IDynamicObjectProvider
GridVIew web端尝试
GridVIew web端尝试 有借鉴意义
个人集成平台
前段时间学习了一下Prism,感觉应该找个机会实践一下,而且前段时间,贱内(希望我老婆看不到这篇文章:))让我帮她做个定时提醒的小工具,做好之后感觉以前做了好多自己能用的小工具,如果能够整合到一起,该多好,所以,想起来做个个人工具集成平台,用来继承一系列我自己的以前做过的小软件。
知识背景
主要的知识背景是基于WPF的框架Prism,这个框架是微软的CodePlex中的一个Team开发的平台,现如今貌似已经发布4.0了。唉,说到这里,我以前的公司就是用的这个框架做的应用程序,现在的公司虽然比以前的公司待遇好了,不过用不着做WPF了,也基本上不使用任何框架开发,郁闷啊,呵呵,发发牢骚。在我的“个人平台”里面,没有使用整个框架,只是将框架减配加到我的基础类库里面。使用的东西包括,“Bootstrapper”,“ServiceLocator”,还有“Modularity”,而且我只是借用了他们的思想,然后进行了轻量级的实现。特别是其中的“Modularity”部分,我使用了微软推出的MEF架构进行了简单的实现,经过单元测试,效果不错。
大家如果有兴趣研究Prism的知识,可以访问下面的链接:
http://compositewpf.codeplex.com/
应用程序的外壳使用WPF的应用程序,并且采用了MVVM模式,个人感觉这种方式更有利于子系统的集成。希望大家要是进行WPF的开发一定要关注这种模式,能够带来很多好处,比如:解耦、利于单元测试、界面利于更换等等。
名词解释
模块: 实现应用程序(个人集成平台)功能的各个部分;
子系统: 能够集成到应用程序(个人集成平台)中的各个功能插件;
系统结构
图1 Personal Integration Platform系统结构图
(1). Personal.Component
作为基础模块,借助于Prism的思想,轻量级的实现了部分Prism的功能。包括Bootstrapper,ServiceLocator,以及Modularity(使用MEF架构)。
(2). Personal.Presentation
作为基础模块,对WPF的MVVM模式进行了简单的支持。
(3). IntegrationUtilities
对子系统集成的逻辑进行支持,在此模块中定义了集成的规范的数据结构,以及用于子系统集成的服务(服务的概念借助于Prism中的ServiceLocator)。
(4). PersonalIntegrationPlatform
个人集成平台,这个也就是这个应用程序最核心的部分,整个应用程序的入口,外壳程序。
(5). NotifyIconWpf
一个第三方的开源WPF控件,用过Winform的同志们都知道,NotifyIcon是个系统托盘。因为我希望的是,我的软件运行后直接运行在托盘中,而不是在桌面上占据个Form跑着,我觉得大家平时用软件,肯定没有那么多时间老是盯着一个Form在那里操作,因此,我觉得采用系统托盘的方式比较好,需要的时候打开,不需要的时候,就在系统托盘里面呆着。
(6). Sub-System
子系统,可以有任何有.net知识的人员开发并且集成到平台中,只要符合集成平台的集成规范就可以。现在已经默认集成了ShutDown子系统,后续还会集成我原来做过的一些比较有用的小程序。呵呵,大家有兴趣,也可以按照继承规范,向里面集成一些自己喜欢的子系统。
使用技术思想
谈到技术思想,主要的思想其实就是面向对象,因为那几个所谓的SOLID思想都是由面向对象的思想衍生出来的。希望大家读到我的这篇文章,不能够奢望大家有收获,但是,希望大家能够不把注意力过于集中到使用的技术,或者编程的技巧,而是集中到系统的结构以及技术思想的运用上。也就是说,不在乎怎么实现,而是在乎怎么组织。嘿嘿,这样就是我为啥给大家看这个系统的结构图,而不是代码的原因,在后面会附上这个项目的源代码,如果对大家有用的话,大家可以拿去看看。
集成方法
(1). MEF框架
MEF框架应该是微软在.net 4.0中推出的一种框架,我理解,主要就是运用IOC的思想进行解耦。最大的好处就是可扩展,这个思想其实早就有,想设计模式中的观察者模式,IOC/DI的思想,以及好莱坞原则,其实都是运用的这种松耦合,可扩展的模式设计的。所谓的松耦合,不是没有耦合,而是耦合到基础的框架,什么叫基础框架,就是谁都能耦合的框架,比如: 如果你写的是.net的应用程序,那你肯定要与.net进行耦合,所以解耦的概念是相对的,耦合才是绝对的。
这里只是想为大家引入这个概念与这种思想,这里并不对MEF进行
WCF interoperation WebService
WCF与WebService之间互操作,如何从WCF中导出wsdl文件,如何将wsdl文件导入为WCF Client
MVC3操作Json
使用MVC3实现对前台Json的数据操作,包括Post操作与Get操作,小弟也是初学,希望能够跟大家分享。
MVCWebCompany MVC简单示例
将这段时间自己对Asp.Net MVC、数据库以及jquery的一些学习成果分享个大家,希望对大家能有所帮助。
使用方法:
数据库方面:
1. 在你的数据库实例中新建Company数据库;
2. 首先执行附件文件夹中的DatabaseScripts中的Company脚本,此脚本会在Company数据库中新建本示例所需要的表与视图;
3. 执行PageBreak脚本,这段脚本会在Company数据库中新建PageBreak存储过程,用于分页(这段脚本是从网上下载的基于Max的分页存储过程,但是排序方面有一些小bug,我已经修改);
4. 执行InsertData脚本,此脚本会向数据库中插入数据;
Asp.Net方面:
5. 本示例代码基于Asp.Net MVC3,使用Razor架构;
6. 使用了MSDN官方的MVC分页方案,但是略作了一些调整,业务逻辑层的调整;
7. 使用了JQUERY的UI库做了日期查询;
8. 更新页面使用MVC中的Ajax异步刷新;
9. 如果要运行本示例,需要在完成数据库的修改操作后,修改Asp.Net中的Web.config文件,修改连接字符串;
希望本示例能够帮助像我一样学习Asp.Net MVC的朋友们。
EntityFramework示例
Entity framework的示例,并提供了说明文档,提供配置的步骤
纪念日软件
纪念日软件,请阅读其中的sn.txt文件
DynamicMetaDictionary_V0.2
使用IDynamicDataProvider接口实现DynamicDictionary,解决RunnerBindingException异常,并解决在重操作符请跨线循环赋值的问题。
DynamicMetaDictionay(动态字典)
使用IDynamicMetaObjectProvider接口实现DynamicDictionary,解决RuntimeBindingException异常。
WPF中ItemsControl的异步加载
WPF的ItemsControl的ItemsSource的异步加载,引用程序集,使用依赖项属性,可以异步加载。
WPF关机工具
WPF制作的关机工具,因为Win8种不好关机,因此只做了此软件,希望大家能够使用!
Nuget包生成器
NuGet包的自动生成器,只需要修改配置文件,将nuspec文件,要做包的文件,编译生成路径写入配置文件,直接编译即可生成NuGet包
Cabinet SDK
用于发布ActiveX的CabinetSDK
WPF制作的IIS浏览器
使用WPF制作的IIS浏览器,IIS6与IIS7都可以使用。
IISResolver
使用.net制作的IIS解析器,分别制作了II7以及II7以下版本的解析器,能够添加删除网站、虚拟目录与web应用程序,并可以获取所有的IISObject。
没有制作浏览器,用户可以自己定制浏览器,WinForm或WPF都可以,这只是我自己封装的一套IIS操作的SDK。
pfx证书制作工具
使用C#制作的pfx根证书制作工具,不需要再写命令行程序,只要跟随向导制作即可
Icon依赖项属性
Icon依赖项属性,去除原有的绑定异常,原来的WPF程序中,如果绑定Icon属性,null时会出现异常,现在去除此异常。
可编辑TreeView
可编辑的TextBlock,Host在TreeView中。
WPF素描风格应用程序制作教程
WPF素描风格应用程序制作教程,提供了文档与示例程序,可以运行。
LittleRestaurant点菜软件(带历史统计功能)
LittleRestaurant点菜软件(带历史统计功能)
LittleRestaurant点菜软件
使用WPF MVVM制作的点菜系统软件,支持对菜品的编辑,以及点菜结算等等