原文 WPF/Silverlight深度解决方案:(一)解锁被Storyboard束缚的关联属性 如果您在使用WPF/Silverlight进行相关动画开发中使用了Storyboard,并对关联属性进行了动画修改,那么您是否有注意到这些关联属性常常无法再通过直接赋值的形式去修改,尽管它的值已经被更改,但却始终无法在界面上得以体现.例如,在我的C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial)教程里大量运用了Storyboard对角色的X,Y坐标关联属性以及角色…
原文:WPF/Silverlight深度解决方案:(九)HLSL自定义渲染特效之完美攻略(下) 本想只用两节来完成关于HLSL自定义渲染相关知识的讲解,鉴于最近非常的多的朋友对此相当感兴趣,想知道最多关于这些特效在实际开发中该如何使用及性能相关问题.那么本节我将以一个比较完整的游戏场景为例,向大家讲解HLSL自定义渲染特效的综合应用. 布置一个游戏场景首先要做的是准备素材,这些素材包括地图背景.天气背景.主角.对象及其他的等物体: 素材有了,接下来我们需要定义如何渲染,首当其冲的当然是去背,因为…
原文:WPF/Silverlight深度解决方案:(七)HLSL自定义渲染特效之完美攻略(中) 通过上一节的解说,大家是否已经对HLSL有了较深刻的认识和理解,HLSL的渲染不仅仅局限于静态处理,通过时时更新HLSL代码的各全局变量值同样可以实现动画形式的渲染,非常Cool对吧~.那么本节我将向大家介绍如何在Silverlight平台上实现HLSL动画渲染特效. 以BandedSwirl(螺旋波纹)渲染特效为例,我们首先要做的是按照上一节的方法将BandedSwirl.ps文件添加进项目中,同时…
原文:WPF/Silverlight深度解决方案:(六)HLSL自定义渲染特效之完美攻略(上) Shader Effect种位图特效及2种渲染特效,而Silverlight中仅有这2种渲染特效: BlurEffect(模糊渲染)和 DropShadowEffect(投影渲染).由于目前WPF/Silverlight被应用的领域还不是很多,大多数开发者仅仅是将之作为Winform/Webform的替代品,那么现成的这几种渲染特效已足够应付大多数的场合需要.但是如果您打算利用WPF/Silverli…
XData -–无需开发.基于配置的数据库RESTful服务,可作为移动App和ExtJS.WPF/Silverlight.Ajax等应用的服务端   源起一个App项目,Web服务器就一台,已经装了管理系统(ASP.NET Web MVC),因此要求App的服务端也采用微软.NET技术.经历(小试)了raw SQL.EF.最终采用了XData(斯人云:传来传去都是JSON,搞得那么复杂干嘛). 从Remoting到WCF再到ASP.NET Web API2,从RPC过渡到REST,构建Http…
Mvvm Light Toolkit for WPF/Silverlight系列之搭建mvvmlight开发框架   本章节,我将通过示例介绍如何搭建mvvmlight开发环境.示例中的我会针对wpf代码进行介绍,SL下有区别的地方我会注明,下载示例中会同时包含WPF和SL源代码,但是只会提供VS2010版本的示例程序. 前提条件:按照前一章节安装的模板和代码片段,或者下载 MVVM Light Toolkit V3 开发环境:VS2010/Blend4 为了方便大家了解框架 本章节,我将通过示…
上一篇 对Wpf/Silverlight Template 进行了总结,本篇继续上一篇,主要是介绍 HierarchicalDataTemplate 的使用方法.HierarchicalDataTemplate 继承于DataTemplate,被称之为"层级式数据模板",主要是应用层级比较明显数据集合,其典型的应用就是对TreeView控件进行数据绑定, 接下来就在Silverlight 5 下进行一下演示.最近有个卖凉茶的节目比较火,叫中国好声音,里面的导师和其歌手的分组就是个层级结…
WPF/Silverlight 中的控件都有Style和Template两种属性.前者解释为样式,是用来改变控件原有属性的,比如 Button 控件的(Width,Height,Background 等等).后者被解释为模版,用于定义控件的内部结构,可以对控件的外观和形状进行改变,比如可以把Button控件的形状由原来的矩形改变圆形. WPF/Silverlight控件主要分为以下三类: Control类型    – Template属性 (ControlTemplate类型)        –…
Arrange过程概述 普通基类属性对Arrange过程的影响 我们知道Measure过程是在确定DesiredSize的大小,以便Arrange过程参考这个DesiredSize,确定给MyPanel分配多少空间,但是DesiredSize只是作为参考,在有些用例下,MyPanelParent在调用MyPanel.Arrange的时候,会根据父的实际策略指定MyPanel.Arrange方法的参数,而不是直接指定MyPanel.DesiredSize的大小,比如Grid.因此,最终MyPane…
前言 在WPF/Silverlight当中,如果已经存在的Element无法满足你特殊的需求,你可能想自定义Element,那么就有可能会面临重写MeasureOverride和ArrangeOverride两个方法,而这两个方法是WPF/SL的Layout系统提供给用户的自定义接口,因此,理解Layout系统的工作机制,对自定义Element是非常有必要的.那么,究竟WPF/SL的Layout系统是怎么工作的呢?接下来,我简单的描述一下,然后,在后面的章节具体分析. 简单来说,WPF的Layo…