摘要: 本主题概述 Windows Presentation Foundation (WPF) 图形系统中的三维功能。通过 WPF 三维实现,开发人员可使用与该平台所提供给二维图形的相同的功能,对标记和过程代码中的三维图形进行绘制、转换和动画处理。 开发人员可以合并二维和三维图形来创建丰富的控件,提供复杂的数据图解,或者增强用户对应用程序界面的体验。WPF 支持三维的设计宗旨不是提供功能齐全的游戏开发平台。 二维容器中的三维WPF 中的三维图形内容封装在 Viewport3D 元素中,该元素可以参与二维元素结构。与 WPF 中的许多其他内容一样,图形系统将 Viewport3D 视为二维可视化元素。. 阅读全文
posted @ 2011-12-01 22:12 sofootball 阅读(6086) 评论(0) 推荐(1) 编辑
摘要: wpf 三维图形基础生成三维图形的基本思想是能得到一个物体的三维立体模型(model)。由于我们的屏幕只有二维,因而我们定义了一个用于给物体拍照的照相机(Camera)。拍到的照片其实是物体到一个平坦表面的投影。这个投影由3D渲染引擎渲染成位图。引擎通过计算所有光源对3D空间中物体的投影面反射的光量,来决定位图中每个像素点的颜色。物体的每一个表面都有一种材质(material)和一个画刷(brush)。材质定义了一个具体角度的光的反射量,而画刷定义了表面的颜色。画刷可以是一种单纯的颜色,也可以是渐变的,甚至可以是一幅图片,这些称为纹理(texture)。一个三角形的世界在3D图形的世界里,所. 阅读全文
posted @ 2011-11-29 20:24 sofootball 阅读(4351) 评论(0) 推荐(0) 编辑
摘要: 什么是动画(Animation)? 动画就是时间+换面的组合,画面跟着时间变化。最常见的是flash的动画,还有GIF动态图片。 动画的主要元素 时间线(Timeline):定义了值随着时间的变化方式。有不同类型的时间线,可用于改变不同类型的值。所以时间线的基类都是Timeline。为了连续改变double,可以使用DoubleAnimation类。 Timeline的主要属性 AutoReverse :使用该属性,可以指定连续改变的值在动画结束后是否返回初始值。 SpeedRatio:使用该属性,可以改变动画的执行速度。在这个属性中,可以定义父子元素的相对关系。默认值为1,将速率设为较小的值 阅读全文
posted @ 2011-11-27 22:19 sofootball 阅读(677) 评论(0) 推荐(1) 编辑
摘要: Expression Blend ButtonStyle- TextButton 本章以TextButton为例,讲解如何最简单,最快速的制作一个专业的TextButton。 对于这个TextButton的需求是这样的,鼠标悬浮时,光标变为“手指”,并改变按钮的前景色,鼠标按下时,有明显的按下的感觉。 都会遇到一个问题,ContentPresenter没有Foreground属性,如何改变前景色? 新建一个TextBlock,输入I'm TextButton 右击TextBolck,选择Make Into Control 为我们的样式取名为TextButtonStyle,Blen... 阅读全文
posted @ 2011-11-26 22:09 sofootball 阅读(996) 评论(2) 推荐(0) 编辑
摘要: Expression Blend制作自定义按钮 1.从Blend工具箱中添加一个Button,按住shift,将尺寸调整为125*125; 2.右键点击此按钮,选择Edit control parts(template)>Edit a copy... 3.在弹出的Create style resource对话框中,修改新按钮样式的名称 4.在左侧的Object and timeline面板中选... 阅读全文
posted @ 2011-11-25 11:02 sofootball 阅读(2557) 评论(0) 推荐(1) 编辑
摘要: Expression Blend使用笔刷 Expression Blend可以让我们十分方便的创建基于WPF的UI,在本文中,我会介绍如何使用WPF画图形,并使用颜色等元素去修饰图形。 什么是笔刷? MSDN 是这样解释的:Everything visible on your screen is visible because it was painted by a brush. For example, a brush is used to describe the background of a button, the foreground of text, and the fill of 阅读全文
posted @ 2011-11-24 21:16 sofootball 阅读(591) 评论(0) 推荐(0) 编辑
摘要: 什么是布局?· Panels控件(其实就是容器控件)· 对内部的子控件提供了自动布局功能· 可以在容器控件内继续添加容器控件(一个复杂的界面往往是多种容器控件嵌套而组成的)· 一些界面器控件也是嵌套了容器控件而组成的(比如ListBox就嵌套了StackPanel控件)· 你也可以自己来制作一些容器控件一些常见的布局控件Canvas最原始的容器控件,对子控件无自动布局功能。StackPanel能将子元素排列成一行(可沿水平或者垂直方向)WarpPanel元素从左到右按顺序排列,在包含他们的框的边缘处将内容换至下一行。Grid定义由行和列的灵活网 阅读全文
posted @ 2011-11-22 12:02 sofootball 阅读(1533) 评论(0) 推荐(0) 编辑
摘要: Microsoft Enterprise Library 5.0 系列(四) Logging Application Block 企业库日志应用程序模块工作原理图: 从上图我们可以看清楚企业库日志应用程序模块的工作原理,其中LogFilter,Trace Source,Trace Listener,Log Formatter的信息都可以在Category配置文件中反映出来,通过配置文件,调用Lo... 阅读全文
posted @ 2011-11-18 21:32 sofootball 阅读(804) 评论(0) 推荐(1) 编辑
摘要: Microsoft Enterprise Library 5.0 系列(三) Validation Application Block (初级)一、简介及用途在实际的项目开发中,我们总会需要对数据进行验证,以保证数据的可靠性,而为了使这些验证可以在不同的地方进行复用(如winform、web、WPF等),就需要将验证进行封装,EntLib的Validation模块就为我们解决了这个问题而产生的,其内置了多种常见的验证器,如字符串、日期、类型转换、正则表达式等,同时还提供了自定义验证的接口,方便我们根据实际的业务需求进行扩展。同时,在Validation模块中还为我们加入了ASP.NET、WIN 阅读全文
posted @ 2011-11-18 11:13 sofootball 阅读(4614) 评论(2) 推荐(1) 编辑
摘要: 服务器端WebService程序usingSystem.Runtime.Serialization.Formatters.Binary;usingSystem.IO;usingSystem.IO.Compression;usingSystem.Data.SqlClient;………publicclassService1:System.Web.Services.WebService{[WebMethod(Description="直接返回DataSet对象。")]publicDataSetGetNorthwindDataSet(){stringsql="SELECT* 阅读全文
posted @ 2011-11-15 22:17 sofootball 阅读(2636) 评论(1) 推荐(2) 编辑