这个控件其实在一个多月前就开始写了,不过当时写了一个多星期后由于实在没有时间而中断了,趁着这几天放假,便把它完善了一下,已经支持基本的dock功能,但还不支持序列化。界面也更待进一步完善。还只是一个雏形。感兴趣的朋友可以下载试用一下,遇到bug欢迎提出。
我写这个程序的初衷是当时写一个小程序的时候,打算把它加上个时髦的可停靠界面,当时打算用AvalonDock,后来遇到了一些问题时,想拿它的代码看着改改的。看了一会儿发现它的实现太过复杂了,代码竟然达到的7~8m,实在看不下去。便转而看其原型版本——CodeProjiect上的WPF Docking Library,但觉得它的实现还是有些麻烦,也不大完善。便把它当黑盒自己写了一个,最后实现的代码非常少,WPF Docking Library的代码文件(xaml和cs,不包括图片等资源文件)将近有230k,而我的当前实现的代码文件只有75kb,虽然还有很多功能没有实现,但估计实现个差不离的版本的话应该也大不到哪去。
我的开发环境是win7(64bit)+.net 4.0,但里面并没有用到什么.net 4.0中的新特性,如果改成3.5应该也一样能编译成功。我是搞C/C++的后台开发的,平时对UI开发接触较少,只是凭爱好在空余时间娱乐一下,通过这个程序的开发,对WPF的认识是有了进一步的巩固和提高的,从中还是学到了不少的。
由于开发的时候没什么规划,想到哪写到哪,现阶段代码结构还太烂,没法见人,也还遗留一大堆问题需要解决。目前不具备任何实用性。有空的话我会进一步完善这个控件,如果觉得比较满意的话考虑将其开源。 由于本人的WPF属于业余水平,加上最近一直都是在瞎忙,几乎天天都在加班,用来弄它的时间非常有限(我的SC2下载了两个月了都一直没有时间玩O(∩_∩)O~),可能改进它的进度较慢,如果有对这个控件感兴趣,且WPF功力较强、美术细胞较充足、业余时间较充分的兄弟可以站内短信联系我(不要留言),和我一起完善它。