在Silverlight开发中我们会使用多个页面来减轻浏览器一次加载的数据量。不过在实际中对于多个页面的切换我们一般会采用一些动画效果来提高用户体验,这样让我们的程序看起来更酷,也让用户感觉到过渡效果很平滑、自然。不过在页面中实现这样的主意可不是小事,经过笔者的反复实验发现可以使用故事板的Completed事件来达到这个目的。现在我们来简单地浏览一下小步骤: 1、在主页的Fame中嵌入第一个内容... Read More
posted @ 2010-08-08 22:46 suyan010203 Views(3107) Comments(5) Diggs(2) Edit
在Silverlight的世界里,数据绑定无疑是一个非常迷人的功能,通过这个功能我们可以使用XAML标记或CLR代码来连接到特定的数据源,内部SIilverligth核心帮助我们完成数据类型之间的转换,例如我们如果有一组ImageSource源,那么我们通过视觉元素Image的Source=“{Binding }”可以直接得到显示的图片。 不过笔者在最近的一个设计中使用了一... Read More
posted @ 2010-07-27 20:42 suyan010203 Views(2929) Comments(2) Diggs(0) Edit
在模式设计中,使用装饰器模式来给现有的对象作为附加的功能添加到原对象中,亦即在不修改源对象的情况下给源对象添加一些特定的行为,达到我们丰富源对象功能的目的,幸好WPF的创始人给我们设计了相应的类型,我们可以直接使用诸如Adorner,AdornerLayer,AdornerDecorator等类型很容易地达到这个目的。很遗憾的是到目前为止,笔者还没有找到在微软的.net专家们为Silverligh... Read More
posted @ 2010-07-21 22:26 suyan010203 Views(1115) Comments(1) Diggs(4) Edit
WPF中的进行视频的播放有两种方式:一种是采用MediaElement+VisualBrush的方式;而另一种则是采用MediaPlayer+VideoDrawing的方式。考虑到MediaElement在处理视频时会将布局的Stretch和StretchDirect缩放视频窗口的内容以适应包容器,而MediaPlayer相反则不需要管理布局、焦点以及所有其他元素细节。所以后者相比前者有更高的效率... Read More
posted @ 2010-07-12 21:24 suyan010203 Views(10260) Comments(13) Diggs(5) Edit
上一次写了一篇:在WPF中实现数据验证的自定义提示之后,一直觉得这个方案太过勉强,逻辑上也不怎么清晰。苦于前两周要做开题报告,所以一直没来得及做一个好好的研究,这几天终于找到时间来改进那个方案了。考虑到原来的方案将XMAL代码和.net后置代码混合使用,使得验证逻辑很是混乱,所以在这里我用纯XMAL标记来实现验证的呈现,而具体的验证逻辑还是放在了数据类型中。我在这儿提供了两个方案:一个是使用Val... Read More
posted @ 2010-07-02 18:53 suyan010203 Views(1618) Comments(0) Diggs(1) Edit
传统的WPF中集成了数据有效性的验证,不过我们在使用中发现使用这个功能在WPF中并不能出现像Silverlight中那样的弹出式的Popup提示,只能以红色的边框提示有错误的数据发生,不能以人性化的方式给予你提示,这似乎给了我们一个小小的遗憾。不过我们可以利用WPF强大的自定义图形功能弥补我们的遗憾。下面就以自定义的Popup为例来说明如果给数据添加验证提示功能。这是如下的效果图:重要提示: 1、... Read More
posted @ 2010-06-17 20:50 suyan010203 Views(3160) Comments(4) Diggs(0) Edit
XPS是.net中的一个全新的打印架构,它是一个固定布局的描述格式,不仅它是WPF打印输出的基础,而且还可以把它当做独立的文件格式来使用。于是我们在设计WPF的打印功能时首先不得不想到XPS打印。由于在网上关于WPF设计的XPS打印的介绍不多,而且在MSDN上介绍的XPS打印设计也是基于.net硬编码的方式来完成的,对所见即所得的支持不好。于是笔者根据XPS打印API做了一个自己的基于FixedD... Read More
posted @ 2010-06-06 15:18 suyan010203 Views(12632) Comments(25) Diggs(6) Edit
先来看一下什么是依赖属性(Dependency Properties): 在WPF引入了一种新的属性类型,称作“依赖属性”,它可以用在外观风格、自动化数据绑定以及动画等方面。依赖属性依赖多个能够在任意时刻及时确定属性值的提供器(provider),这些提供器可以是一个不断改变属性值的动画,也可以是一个可以将属性值传递到子元素的父元素。它的最大的特点无疑是它能够提供变更通知的... Read More
posted @ 2010-05-29 15:41 suyan010203 Views(1884) Comments(3) Diggs(3) Edit
作为一个常用的的Control,TreeView控件给了我们很多的展现层次数据源的能力,其强大的定制性和易用性,非常受客户端应用程序开发者们的亲莱。不过在展现树形控件前面的CheckBox控件的状态时,我们有时或者需要遍历整棵树来得到所有的CheckBox的设置状态。在示例代码之前,我们先来展示一下相关的类型: 1、 TreeView类 public class TreeView : Contro... Read More
posted @ 2010-05-22 15:56 suyan010203 Views(3115) Comments(5) Diggs(2) Edit
中国有句古话叫:“好事多磨”,在程序设计的日子里,这似乎更常见不过了。在程序员的世界里,为了一个看似小的问题通宵达旦,甚至于几天几夜的琢磨也是司空见惯的事。不过你的这些努力没有白费,它会给你带来巨大的惊喜,让你记忆深刻。本文就是这样的经历,言归正题。下面谈一谈WPF中的NullExtension和Transparent这两个属性是如何影响到我们项目中的鼠标事件的。(之所以这... Read More
posted @ 2010-05-14 14:55 suyan010203 Views(350) Comments(2) Diggs(3) Edit