随笔分类 -  07.WPF/Silverlight

摘要:先回忆一下aspx中的处理:在aspx中,可以直接在后台定义一个变量,然后前台就可以用<%=xxx%>来将其"绑定"html控件上,比如下面这样,实在是很方便:代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--usingSystem;n... 阅读全文
posted @ 2009-12-07 09:23 菩提树下的杨过 阅读(2287) 评论(0) 推荐(2) 编辑
摘要:很多购物平台中(比如京东购物),浏览产品详情时都有这种效果,前几天看到有朋友问SL能不能实现,当然可以界面:1.左侧小图片(用一个矩形Fill一张图片即可)2.左侧半透明矩形3.右侧大图片(用一个Canvas设置Clip裁剪可视区域作为蒙板,图片放置在Canvas中即可)原理:获取左侧半透明矩形的相对位置,然后动态调整右侧大图的Canvas.Left与Canvas.Top需要知道以下技术点:1.C... 阅读全文
posted @ 2009-12-03 10:39 菩提树下的杨过 阅读(5482) 评论(20) 推荐(8) 编辑
摘要:1.粘包目前sl中的socket只能用tcp/ip协议,而tcp/ip本质是一个"流"协议,也就是说数据无边界,发送的就是一连串的字节(没有数据包的概念),因此连续发送时有所谓的“粘包”现象,详细解释如下:比如你设置发送缓冲区的大小是512字节,如果(在相隔时间极短的情况下)连续发送次数据,第一次为500字节,第二次为100字节,实际上你在服务器端接收到的二次数据长度并不是... 阅读全文
posted @ 2009-12-02 12:46 菩提树下的杨过 阅读(1783) 评论(1) 推荐(1) 编辑
摘要:序列化简言之是这样一种能力:能够把复杂的对象(Object)变成某种格式的字符串(常见的格式有xml,string,二进制文件等),这样可以方便的在各种系统中传输或交换(比喻socket编程中的数据包只能用byte[]传输),接收方得到该字符串后,通过反序列化可以还原为复杂对象,进而调用对象的方法或属性 -- 跟反射有点沾边:)这里先给出一个WinForm的序列化例子,功能为通过打开文件对话框选择... 阅读全文
posted @ 2009-11-30 15:20 菩提树下的杨过 阅读(4588) 评论(8) 推荐(1) 编辑
摘要:silverlight中的socket通讯支持,让sl开发基于web的聊天工具成为了可能,后来OpenFileDialog,SaveFileDialog的出现,更使得边聊天边传送图片(文件)得以实现,最新的SL4中又加入了摄像头支持,也许不久真的可以用silverlight开发出功能强大的视频聊天系统,目前唯一还没有解决的是p2p问题,根据sl3的sdk文档所述:Socket 类为网络通信提供了一... 阅读全文
posted @ 2009-11-27 13:51 菩提树下的杨过 阅读(3743) 评论(12) 推荐(2) 编辑
摘要:这二天在研究webabcd的socket多人聊天室,想尝试增加一些功能,比如:允许用户除发送文字外,还能发送图片或文件。问题:socket发送数据时,只能发送byte[]数组,且无法附带其它用户自定义参数,服务端如何知道用户发过来的是文字还是图片或是文件呢,所以只能在byte数组上动脑筋了.silverlight中,用户选择的图片或文件,都能变成FileStream,近而变成byte数组,初步想法... 阅读全文
posted @ 2009-11-26 17:02 菩提树下的杨过 阅读(3183) 评论(0) 推荐(0) 编辑
摘要:单线程的winfom程序中,设置一个控件的值是很easy的事情,直接 this.TextBox1.value = "Hello World!";就搞定了,但是如果在一个新线程中这么做,比如:[代码]运行时,会报出一个无情的错误:线程间操作无效: 从不是创建控件“textBox1”的线程访问它。究其原因,winform中的UI控件不是线程安全的,如果可以随意在任何线程中改变其... 阅读全文
posted @ 2009-11-25 11:37 菩提树下的杨过 阅读(5782) 评论(16) 推荐(11) 编辑
摘要:先看效果图:步骤:1.先启动Microsoft Expression Design 3a.画一个正圆,再随便打几个字,同时选中文字和圆b.选择菜单栏中的"对象"-->"路径上的文本"-->"附加文本",调整文本内容,间距等,让其正好布满圆圈,调整好以后,再把圆形的填充和边框去掉(即无填充,无边框)c."文件"-->"导出",格式选择"Xaml Silverlight3画布"2.启... 阅读全文
posted @ 2009-11-24 11:29 菩提树下的杨过 阅读(1782) 评论(5) 推荐(1) 编辑
摘要:原文:http://blog.csdn.net/banmuhuangci/archive/2009/05/16/4192031.aspx刚接触Silverlight的时候,除了其异步应用WCF、流媒体、动画效果等方面外,Socket是最另我兴奋的功能。在Web上实现Socket虽然不是什么新鲜事了,Activex,flash等都可以实现这样的效果,但是Silverlight这样方便的运用Socke... 阅读全文
posted @ 2009-11-23 10:33 菩提树下的杨过 阅读(3012) 评论(1) 推荐(0) 编辑
摘要:Silverlight4终于支持摄像头和麦克风了,网页上的视频聊天将不再是Flash的专利!今天在一个老外的网站上看到webCam的使用示例(http://elegantcode.com/2009/11/20/silverlight-4-webcam-a-quick-glance/),非常简单,转帖整理如此:界面:一个Button,一个Rectangle,哈,够简单吧图1按下按钮,将连接到摄像头关... 阅读全文
posted @ 2009-11-21 21:47 菩提树下的杨过 阅读(1450) 评论(7) 推荐(1) 编辑
摘要:不知道为啥,最近很热衷于研究相册效果:)视觉状态(VisualState)真的太好用了,借一句本山大叔的台词:"谁用谁知道"PS:以后帮美女做相册这种“讨女生欢心”的活儿,咱程序员也可以自己来了,光棍程序员们赶紧加油学SL啊,没准终生大事就靠它了!在线演示地址:http://images.24city.com/jimmy/vsmAlbum/这个里面把图片放大,图片缩小,加载... 阅读全文
posted @ 2009-11-21 14:31 菩提树下的杨过 阅读(1040) 评论(6) 推荐(0) 编辑
摘要:SL4终于支持网络摄像头,很是激动,以后可以完全不用flash那一套了,兴奋之余,发几个美女纪念一下,效果图如下:在线演示地址: http://images.24city.com/jimmy/photoshow/ 源码是根据silverlight.net首页动画效果反编译得来的,下载地址见http://www.cnblogs.com/yjmyzz/archive/2009/11/12/16020... 阅读全文
posted @ 2009-11-19 14:40 菩提树下的杨过 阅读(1130) 评论(4) 推荐(0) 编辑
摘要:相册/图片切换广告等很多常用小应用中,服务器返回一组图片的uri,然后silverlight利用WebClient异步加载,如果要严格控制加载顺序的话,可以利用Stack(堆栈)或Queue(堆栈)处理,思路:不要全部一起加载,先加载第一个,在完成的异步回调过程中,继续发起一下次异步。回想我们在ajax开发中,有一种技术叫"http长连接",在每一次ajax异步请求完成时,继续发起下一个异步请求,... 阅读全文
posted @ 2009-11-13 15:45 菩提树下的杨过 阅读(1043) 评论(0) 推荐(0) 编辑
摘要:1.导入命名空间xmlns:clr="clr-namespace:System;assembly=mscorlib"2.然后就可以这样用了Application.ResourcesResourceDictionary clr:String x:Key="ShowcaseLocation"http://www.silverlight.net/showcase//clr:String...3.使用 var s = Application.Current.Resources["ShowcaseLocation"].ToString()源文件:http://files.cnblogs. 阅读全文
posted @ 2009-11-13 12:43 菩提树下的杨过 阅读(802) 评论(3) 推荐(0) 编辑
摘要:{x:Null}:用于设置某属性值为Null,比如<Rectangle Fill="{x:Null}" />,其实就相当于<Rectangle />,个人感觉这个纯属MS的多余设计另外要注意一个问题:<Rectangle x:Name="rect" Stroke="Black" Width="90" Height="90" MouseLeftButtonUp="Rec... 阅读全文
posted @ 2009-11-13 08:54 菩提树下的杨过 阅读(3110) 评论(2) 推荐(0) 编辑
摘要:本文不涉及高深的设计模式(比如mvc,mvvm之类),也没有太多的编程技巧,只是记录自己做为asp.net开发者学习silverlight中自定义控件开发的一些过程,高手请绕过。先推荐一篇不错的文章http://www.cnblogs.com/carysun/articles/1259025.html写得很全面,只不过图片讲解不够丰富,初学者可能有些感到跳跃性大了一些。正文开始:做过asp.net... 阅读全文
posted @ 2009-11-11 11:28 菩提树下的杨过 阅读(4825) 评论(7) 推荐(1) 编辑
摘要:“逐帧动画”与“播放GIF”貌似二个风马牛不相干的问题,其实不然!因为silverlight中的image控件不支持直接把gif动画做为source,所以象做动画常用的"走路的小人","加载loading小动画"...这类经典gif素材,无法直接使用,只能转化为逐帧动画来处理。nasa(silverlight MVP)给出于二种经典的办法:1.类似老... 阅读全文
posted @ 2009-11-11 10:20 菩提树下的杨过 阅读(2084) 评论(0) 推荐(0) 编辑
摘要:asp.net开发中,数据绑定是一个很简单的概念,控件与数据绑定后,控件可以自动把数据按一定的形式显示出来。(当然控件上的值改变后,可以通过提交页面表单,同时后台服务端代码接收新值更新数据)silverlight中利用控件显示数据这一基本功能当然还保留,只不过因为silverlight应用不需要刷新(也不存在提交表单),所以当控件属性或数据源变化后,在如何相互影响这一块的处理上有所不同。引用一段s... 阅读全文
posted @ 2009-11-09 14:49 菩提树下的杨过 阅读(3591) 评论(0) 推荐(2) 编辑
摘要:所谓的deeplink技术是为了解决silverlight(或flash)之类的RIA Web应用无法被搜索引擎收录而出现的,属于SEO范畴。就拿最常见的企业网站为例,里面有企业简介(About),产品展示(Product),联系我们(AboutUs)...等常见模块,如果全站都用silverlight/flash来做,default.html页面上用object嵌入一个xap/swf就完事了,搜... 阅读全文
posted @ 2009-11-06 16:01 菩提树下的杨过 阅读(2270) 评论(2) 推荐(1) 编辑
摘要:这篇应该是"silverlight3的"伪"3D续--图片横向轮换"的后续篇章,代码基本上从上篇代码修改而来,界面则抄袭了nasa的相册,自己一直做数据库相关的电子商务开发,虽然断断续续学习了一阵silverlight,但对RIA开发还没找着感觉,基本上仍处于从asp.net程序员看silverlight的初级阶段,这个权当练手,废话不多说,直接看效果图:演示地址:http://images.24... 阅读全文
posted @ 2009-11-05 21:30 菩提树下的杨过 阅读(1894) 评论(9) 推荐(1) 编辑