摘要:
先看效果:wrapPanel的效果在固定宽度的情况下看不出来,可查看在线演示地址:http://images.24city.com/jimmy/CustomPanel/这些布局,有些是从wpf上移植过来的,有些是自己写的,有些是网上搜集的,也许以后有用,先贴在这里介绍:FishEyePanel:从老外写的wpf版"鱼眼"效果移植过来的,Mac机上的工具条所说就是这种风格CellPanel:将布局等... 阅读全文
摘要:
很多时候,blend在制作动画时,会自动为对象生成如下代码:[代码]如果想在cs代码中动态控制,就得先知道如何引用它们,在不借助x:Name的情况下,可以这么做:[代码]上面的代码,将生成一段动画:1秒钟内将矩形旋转135度 阅读全文
摘要:
虽然Silverlight提供了几种基本的布局方式,比如Canvas,Grid,StackPanel,Border...,但有时候可能仍然会觉得不够用。这时候我们可以通过继承Panel,并重写MeasureOverride 和ArrangeOverride 方法,以实现自己的布局,事实上Canvas,Grid,StackPanel就是继承自Panel,并自行实现这二个方法实现的。布局过程中,有二个... 阅读全文
摘要:
原文出处:国双科技-黄勇坚 Silverlight布局管理1. 布局管理介绍复杂的页面、软件界面都是由若干个界面部件组成的。每个部件占据着屏幕的一个部分。如何将这些部件有机地放在用户界面中,并且适合种尺寸大小的显示,成为界面设计者的一大难题。在界面的大小改变时,界面中的控件的位置和大小均会发生变化,如有的控件自动产生滚动条,有些控件之间的距离变小或者变大,有的控件的宽度和高度变小,有的控件大小不变... 阅读全文
摘要:
学习SL/WPF,Dependency Properties(依赖属性)是一个全新(陌生)但又无法回避的概念。http://www.wpftutorial.net/DependencyProperties.html这里有一篇通俗易懂的相关文章,不过是E文的,E文不好的朋友,也可以参考下面的内容:1.为什么会出现依赖属性?先回想一下传统的属性(Property):通常我们读取或赋值一个属性时,实际上... 阅读全文
摘要:
关键点:1.利用WebClient的DownloadProgressChanged事件更新下载进度2.下载完成后,分析Xap包的程序集Assembly信息3.利用Assembly反射还原对象并加载到当前页中。好处:1.可以先定义一个简单的加载动画,吸引用户注意,避免长时间的无聊等待,改善用户体验。2.实现按需加载,避免一次性下载过多内容。3.在一定程度上,增加了破解难度,有助于代码保密。Xaml ... 阅读全文
摘要:
这仅仅只是一个思路的问题,silverlight没办法直接调用activex,但是silverlight可以跟js很好互动,而activeX又能跟js交互,so...把javascript当作桥梁,就能把silverlight与activeX联系起来了,即:js调用activex --> silverlight调用js 阅读全文
摘要:
一直觉得SL中的wcf双工通讯方式有点鸡肋,如果是以http方式实现则效率太低,如果用SL4中的tcp方式实现,又跟socket太雷同,所以一直没去研究,不过这东西在对性能要求不高时(比如在网页上每5分钟更新一次天气预报/股票信息),实现起来还是蛮方便的.wcf双工通讯与传统的wcf相比,最大的区别就是:传统的wcf通常都是客户端去调服务,即客户端从服务端上“拉”信息,而双... 阅读全文
摘要:
1.sl调用js比如我们在页面中定义一个js函数:<script type="text/javascript"> function fnTest(msg) { alert('fnTest:' + msg); } </script>sl中可以有二种调用方式:HtmlPage.Window.CreateInstance("fnTest", "CreateInstance");或... 阅读全文
摘要:
先纠正一个观点,所谓自动安装并非强制安装,否则就变成流氓软件了,就算是silverlight,flash这类知名ActiveX,用户也有选择安装或是不安装的权利。较正统的解决办法是提示用户设置IE权限,然后在object里加入codebase='ocx的下载路径',然后制作数字证书,个人觉得这样比较复杂。我的办法:1.先用js检测activex是否可用代码 Code highlighting pr... 阅读全文
摘要:
前一阵重温delphi的目的,就是想自己弄一个不依赖于.net框架的轻量级ActiveX来实现网页上的屏幕截图,今天算是小有所成了,效果图:测试文件打包下载:http://files.cnblogs.com/yjmyzz/CaptureTest.rar 在线测试地址:http://images.24city.com/jimmy/Capture/test.htmdelphi7开发的activeX源代... 阅读全文
只有注册用户登录后才能阅读该文。 阅读全文
摘要:
任何一门语言,只要具备了"封装,继承,多态"这三项基本能力,不管其实现方式是直接或曲折、复杂或简洁,就可以称之为“面向对象”的语言。Delphi当年的迅速走红,是以其RAD快速开发吸引程序员的目光。这无疑是它最吸引人的优势,但同时也让人误以为delphi只是vb的高级版本,从而忽视了其面向对象的特性。其实Pacscal发展到Delphi,已经完全具备了面向对象的所有特点:允... 阅读全文
摘要:
先谈谈工具问题:虽然d7很经典,但毕竟是02年出的开发工具了,对于习惯了vs2008被微软宠坏的.net程序员来讲,重返d7已经有点找不着感觉了(起码连最基本的代码折叠功能都没有),还好delphi开发工具并没有停步不前,新出来的delphi2010已经做得很不错了,建议delphi迷们与时俱进,换装备吧!玩转了delphi语法后,会发现其实oo的东西都是差不多的,何况c#和vs的创建者,据说是M... 阅读全文
摘要:
第十一章 面向对象数据库基础第二节 数据对象的标识我们在关系数据库的设计和开发中,可能经常需要一些唯一的编号或标识,用来作为关键字,以区别每一个不同的人,每一张不同的单据,每一次不同的信息登记,等等。并且,我们也一直采用这些编号和标识,作为关系的连接字段。但是,要保证编号或标识是完全唯一的,却是一个不大不小的难题。下面我们将详细讨论这一问题,并希望能从另一个高度来理解这一问题。不过,我们首先来看看... 阅读全文
摘要:
第十章 操作界面与操作逻辑我们在前面的曾经讨论过,用户界面与商业逻辑分离的好处。这样的分离可以让软件体系结构更加合理,结构易于理解,从而增强软件的灵活性和可维护性。正如我谈到过,我们讨论的目的是为了寻找将软件结构从混沌归于有序的实用方法,这是编写本书的主要目的之一。有序的东西易于理解,易于理解就便于掌握,掌握之后你将会发现其背后的哲理是那样的简单,从而升华到更高的境界去感受良好软件结构的协调美。本... 阅读全文
摘要:
大师当年未完成,占位:) 阅读全文
摘要:
大师当年未完成,占位:) 阅读全文
摘要:
大师尚未完成,先占个位:) 阅读全文
摘要:
大师还未完成,先占个位:) 阅读全文
摘要:
第五章 包我们在日常生活中会用到各式各样的包,钱包、公文包、背包、书包……,包里面都装有经常要用的东西。一旦你那天要出门远行,带上该带的包就可以了。不用再考虑包里面具体的东西,尽管包里有的东西用得着而有的东西用不着。有了这些包,你就可以一身轻松地旅游。当然,打包打得不好或者包太多也会成为累赘。同样,在DELPHI中,你可以将常用的程序和数据放到包里,让这些包伴随你的程序发布... 阅读全文
摘要:
第四章 接口前不久,有位搞软件的朋友给我出了个谜语。谜面是“相亲”,让我猜一软件术语。我大约想了一分钟,猜出谜底是“面向对象”。我觉得挺有趣,灵机一动想了一个谜语回敬他。谜面是“吻”,也让他猜一软件术语。一分钟之后,他风趣地说:“你在面向你美丽的对象时,当然忍不住要和她接口!”。我们同时哈哈大笑起来。谈... 阅读全文
摘要:
第三章 多线程古时候,有一位刚刚出道的的骑士去到牧马场挑选一匹好马。在马房和牧马人聊天的时候,他大吹特吹自己驾驭马匹的高超技能。牧马人听完他的唠叨之后说:“请你将草原上吃草的那群马引进马房,我送你一匹最好的马!”。击掌为誓之后,骑士拿起长鞭骑马出去了。过了很久,那个骑士汗流满面灰溜溜地回来了。这时牧马人语重心长地对他说:“能驾驭一匹马不一定可以驾驭一群马,你在马... 阅读全文
摘要:
第二章 DELPHI与WIN32时空我的老父亲看着地上玩玩具的小孙子,然后对我说:“这孩子和小时的你一样,喜欢把东西拆开,看过究竟才罢手”。想想我小时侯,经常将玩具车、小闹钟、音乐盒,等等,拆得一塌糊涂,常常被母亲训斥。我第一次理解计算机的基本原理,与我拆过的音乐盒有关。那是在念高中时的一本漫画书上,一位白胡子老头在讲解智能机的理论,一位留八字胡的叔叔在说计算机和音乐盒。他... 阅读全文
摘要:
yjmyzz:李战大师的成名,并不是因为08年发表于园子里的那篇"悟透javascript",而是多年前的这篇处女作"悟透delphi",原出处已经找不到了,近日重温delphi研究如何开发原生win32中的activex控件时,无意又找到了这篇文章,想当年这篇文章在delphi编程群体中那是何等轰动,转载于此,以示纪念。(delphi的出现,秒杀了vb/pb,vs的出现又秒杀了delphi,但是... 阅读全文
摘要:
这二天用c#开发ActiveX时,发现不管怎么弄,c#就是没办法生成ocx的纯正activeX控件,而且还要强迫用户安装巨大的.net framework(我只是想做一个简单截屏功能的activeX整合到silverlight聊天室中),于是想起了曾经用过一年的delphi,虽然时过境迁,现在早以是.net的天下,但是不可否认,delphi仍是win32原生程序最佳的开发工具之一。关于Delphi... 阅读全文
只有注册用户登录后才能阅读该文。 阅读全文
摘要:
一.google项目托管相对比较容易http://code.google.com/先注册一个gmail邮箱,然后参考孟子的这篇文章http://blog.csdn.net/net_lover/archive/2009/04/08/4056916.aspx二.CodePlex开源项目--这个相对麻烦一点http://www.codeplex.com/得先注册一个帐号,然后创建项目,默认情况下项目是未... 阅读全文
摘要:
1.为什么要用ActiveX?网页本身的功能是有限的,要想实现一些网页本身不支持的功能,比如:网页上的p2p视频播放,就得靠ActiveX这种古老的技术。2.c#能开发ActiveX吗?严格意义上讲,c#是不能生成纯正ocx控件的,我们在vs.net中新建项目时,也找不到专门的"ActiveX项目"新建项,最多也只就能新建"类库"得到一个dll而非ocx(因此我们也无法用传统的regsvr32来注... 阅读全文
摘要:
这种应用场景其实很多,比如游戏中装备/魔法的选择菜单,这里借用了"深蓝色右手"的一张图再比如聊天室中的文本颜色设置虽然sl的ToolTipService.ToolTip属性可以设置任何对象,比如下面这样代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-... 阅读全文
摘要:
今天在蓝色上看到一篇介绍WritableBitmapEx的贴子(是开源项目),项目地址:http://writeablebitmapex.codeplex.com/对SL的WritableBitmap做了一些扩展,可以方便的绘制一些基本几何形状,示例代码如下:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http... 阅读全文
摘要:
ListBox是一个很有用的控件,其功能直逼Asp.Net中的Repeater,它能实现自定义数据项模板,纵向/横向排列Item(如果扩展一下实现自行折行,几乎就是SL版的Repeater了--实际上WrapPanel已经实现了,不过没有默认集成在SL3中).这里推荐一个老外的文章 http://blogs.msdn.com/delay/archive/2008/03/05/lb-sv-faq-e... 阅读全文
摘要:
先来看xaml部分代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--<UserControlxmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="h... 阅读全文
摘要:
先上演示地址:http://images.24city.com/jimmy/DeepZoom/步骤:1.先启动PhotoShop,利用自动等分切片功能把图片等分成若干小图片,并导出,参考下图:2.启动Deep Zoom Composera.新建项目,并用Add Image...导入刚才等分好的小图片b.切换到compose面板,把小图片拖出来,并调整位置最终拼成完整的图片c.切换到Export面板... 阅读全文
摘要:
先回忆一下aspx中的处理:在aspx中,可以直接在后台定义一个变量,然后前台就可以用<%=xxx%>来将其"绑定"html控件上,比如下面这样,实在是很方便:代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--usingSystem;n... 阅读全文
摘要:
以前一直用 var query = xxx.Select(c=>new {c.X,c.Y}); 来取表中的某二列字段,今天有个应用需要转成Dictionary<T,U>,很少这样使用,居然忘记了写法!回忆了半天终于写对了,贴在这里备个份,方便以后查找:[代码]//如果觉得上面的写法太复杂,还可以简化为//Dictionary<Guid, int> dic = lst.... 阅读全文
摘要:
大多数情况下,vs.net中我们可以用断点来解决调试问题,但有些时候也可能手动需要输出一些信息做为调试的参考,你是否有过调试完成以后,忘记删除某条输出语句的经历?那么下面的技巧可以解决这个问题:#define debugusing System;namespace debugDemo{ class Program { static void Main(string[] args) { #if de... 阅读全文
摘要:
原以为int.MaxValue就是所有数组下标的最大值,编译也能通过,结果运行时发现报错:内存溢出。经过测试发现,原来在不同的系统/不同的配置上,这个值都不太一样,我笔记本经过测试byte[] b = new byte[int.MaxValue-56]; //windows 7 64位,4G内存换另一个机器,结果byte[] b = new byte[int.MaxValue/2]; //wind... 阅读全文
摘要:
很多购物平台中(比如京东购物),浏览产品详情时都有这种效果,前几天看到有朋友问SL能不能实现,当然可以界面:1.左侧小图片(用一个矩形Fill一张图片即可)2.左侧半透明矩形3.右侧大图片(用一个Canvas设置Clip裁剪可视区域作为蒙板,图片放置在Canvas中即可)原理:获取左侧半透明矩形的相对位置,然后动态调整右侧大图的Canvas.Left与Canvas.Top需要知道以下技术点:1.C... 阅读全文
摘要:
MTU即:最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据报大小(以字节为单位)。想了解详情的请自行摆渡:"MTU"快速确定当前网络环境MTU的办法:ping -f -l 字节数 要拼的IP比如: ping -f -l 1472 192.168.1.1如果能ping通,再把1472尝试调整得大一些,如果出现类似下面这样:C:\... 阅读全文