hystar的.Net世界 博客园 首页 新闻 新随笔 联系 管理 订阅 随笔- 103  文章- 0  评论- 107  WPF,Silverlight与XAML读书笔记(3) - 标记扩展   说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. 标记扩展的作用同类型转换器(见本系列上一篇文章),都是将字符串转换为相应类型的对象.WPF/Silverlight内建的标记扩展都派生自MarkupExte…
原文:WPF,Silverlight与XAML读书笔记第三十九 - 可视化效果之3D图形 说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. WPF将易用性的理念带入了3D世界,WPF中3D也工作在一种保留模式下,这意味着系统会负责刷新与重绘.WPF中2D图形与3D图形系统有着很紧密的融合,首先在绘图系统基础及2D图形篇所介绍的概念对3D图形是适用的.2D媒体,如Video,Drawing和Visual…
说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. 这一部分我们重点讨论下Silverlight的网络与通讯功能.2.0版起,Silverlight支持多种模式的网络访问,从最原始的Silverlight控件支持的JavaScript方法,到Silverlight Framework内置的通过C#操作的各种类,几乎可以实现任意你想实现的功能.下面我们逐一讨论这些方法: 通过Silverlight控件的J…
说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. 这部分内容主要介绍Silverlight与浏览器的交互,包括使用JavaScript来控制Silverlight.这其中起主要作用的是Silverlight插件与Silverlight.js这个文件. 首先我们要展示怎样在浏览器中嵌入Silverlight对象,有两种方式实现这个目的,第一种是使用JavaScript加载Silverlight控件,这涉…
说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. 模板允许用任何东西完全替换一个元素的可视树,而不影响其他功能,WPF中每个控件的默认外观都定义于模板中(针对不同的Windows主题有不同的默认模板,详见皮肤与主题一节),这个特性对于开发自定义控件也是很重要.控件的功能代码与可视树代码是相分离的,基于这个出发点WPF中控件的大部分属性是控制功能的,而控制外观的属性尽可能的少,因为这个需要放到模板(包括…
说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. 如果你有Web编程的经验,你会知道使用Style属性给Html元素添加样式,并且更好的做法是将这些样式提取到CSS文件中.在WPF/Silverlight中我们也可以把控件的样式提取出来并进行复用,这就是本节讨论的话题 – 样式支持. 所有外观效果相关的特性,如样式.模板或皮肤等的基础是资源的定义与使用,如果对于资源还不是很熟悉,可参考前文部分章节介绍…
说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. Glyphs对象(WPF,Silverlight) Glyphs对象可以同时用来创建有字体(或者说有固定字形)的文字内容与没有字体(没有定义固定字形,如Wingdings或Unicode)的文字内容. 注意,当在Silverlight环境中使用Glyphs对象时,由于字体文件会被下载到目标机器,所以作为开发人员需要确保有分发这个字体的权利. Glyph…
说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. 皮肤 皮肤是应用程序中样式与模板的集合,可以被整体动态的替换,从而让应用看上去是一种全新的风格.通过皮肤允许第三方任意改变应用程序的外观,WPF并没有内建一个叫皮肤的机制.皮肤及换肤功能可以通过动态资源机制加Style和模板来实现. 下面介绍一个WPF较常见的皮肤定制机制.如果我们希望一个元素的外观可以通过皮肤来定制,我们要将此元素的样式定义为引用动态…
Layout The Layout Containers The Panel Background By default, the Background of a layout panel is set to a null reference, which is equivalent to this: <Grid x:Name="layoutRoot" Background="{x:Null}"> When your panel has a null b…
一.分离关注点 目的是确保每一个模块值有单一的,明确的目的,不需要去负责其他的功能.单一的目的也称为关注点. 1.1依赖 引用程序集对于依赖来说不是必须的.依赖关系可能也存在于一个代码单元要知道另一个单元,如果是一个类需要使用另外一个类,那么前者就是依赖于后者,特别的依赖还存在于类的方法,属性,以及构造器.强烈建议把类的接口和实现分开. 上面两端代码是实现同样的目的,实现画出一个形状 /*唯一能画出来的是一个圆,每次图形改变时,有可能需要画矩形,DrawShape必须改变,这样增加了维护成本 *…