
Silverlight
蝈蝈俊
蝈蝈俊.net
展开
-
Silverlight 版的电子表
程序执行的效果图: 这个程序改编自:webabcd 的 Silverlight 1.0 同样程序。 http://www.cnblogs.com/webabcd/archive/2007/09/17/895328.html 我这里把 Silverlight 1.0 的程序改成 Silverlight 3.0 的程序了。中间的逻辑,原先是JavaScript写的,现在变成C#写的了。原创 2009-11-12 14:51:00 · 1942 阅读 · 3 评论 -
Margin 属性的一些边界情况说明
我们来看例子,下面的椭圆显示的将不是完整的一个椭圆。 Xaml 文件: UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas原创 2009-12-11 18:12:00 · 2050 阅读 · 0 评论 -
反编译Silverlight应用
其实反编译Silverlight 应用非常容易,下面就以反编译 http://www.joerassic.ch/ 的街机对战的Silverlight应用为例来说明这个过程。http://www.joerassic.ch/ 有一个非常酷的,用Silverlight开发的恐龙街机对战的游戏,下面是一副截图。 下载Silverlight XAP文件: 由于 Silverlight 是在原创 2009-12-14 17:19:00 · 5164 阅读 · 4 评论 -
Silverlight学习笔记--动画效果-- 渐变风格方式动画
按照动画的形成方式,Silverlight 动画可以分为两种: 渐变风格方式(确定开始和结束,然后按照一个固定的频率完成渐变) ; 关键帧生成方式 (设定若干中间帧,可以按照指定的节奏来变化,节奏可以忽快忽慢); 本文重点演示渐变风格方式。关键帧生成方式下篇再涉及。 要实现一个渐变风格动画,一般需要下面4步,我们下面的演示是实现一个小球从左到右来回移动的动画效果: 建立动原创 2009-12-17 17:03:00 · 2946 阅读 · 2 评论 -
Silverlight学习笔记--动画效果-- 关键帧动画
按照动画的形成方式,Silverlight 动画可以分为两种: 渐变风格方式(也可以叫From/To/By 动画)(确定开始和结束,然后按照一个固定的频率完成渐变) ; 关键帧生成方式 (设定若干中间帧,可以按照指定的节奏来变化,节奏可以忽快忽慢); 渐变式动画的讲解请看博客: Silverlight学习笔记--动画效果-- 渐变风格方式动画 本文介绍关键帧动画: 与渐变(原创 2009-12-22 17:04:00 · 3867 阅读 · 0 评论 -
Silverlight 动画与定时器
动画和定时器是紧密相关的,下面的三个例子既可以说是定时器,也可以说是动画。 编码使用定时器 编码方式使用定时器,最简单的就是使用 System.Windows.Threading 命名空间的 DispatcherTimer 类。虽然也可以用 System.Timers.Timer,但是实现就会复杂多了,不推荐使用System.Timers.Timer,原因如下: 在每个 Dispat原创 2009-12-23 17:13:00 · 2226 阅读 · 3 评论 -
Silverlight 资源的使用
我们在Silverlight 项目中,新加一个文件,比如一个图片文件,这个文件的属性会有下面2个选项,这两个选项决定了这个图片资源如何存储,如何使用。 先说简单的,资源文件的 Copy to OutPut Directory 属性, 这个属性有如下三个选项: 他们都是在程序编译或者部署时,判断此资源文件是否要同步用的。 Do not copy 不做数原创 2010-03-08 10:31:00 · 3741 阅读 · 0 评论 -
Silverlight的数据绑定
Silverlight数据绑定有三种模式(没有WPF的 OneWayToSource 模式),如下: OneTime:一次绑定,在绑定创建时使用源数据更新目标,适用于只显示数据而不进行数据的更新。 这是绑定的默认情况。 OneWay:单向绑定,在绑定创建时或者源数据发生变化时更新到目标,适用于显示变化的数据。 TwoWay:双向绑定,在任何时候都可以同时更新源数据和目标。原创 2009-12-28 11:17:00 · 3573 阅读 · 2 评论 -
Silverlight Path的Data生成
Path的Data数据有下面几种生成方式: 来自其它矢量图。比如使用 Expression Design,就可以直接粘贴来自其它软件的矢量图形,然后选择导出,导出时做如后选择:文件->导出->导出属性->格式->XAML Silverlight 画布,即可得到XAML格式的矢量图形,也就是Path。 使用转换路径,比如,我们要把文字转成图形,相当于印刷行业里的文字转曲,可以直接用原创 2010-03-10 16:25:00 · 5450 阅读 · 3 评论 -
WriteableBitmap
Silverlight 3 开始支持 WriteableBitmap。WriteableBitmap 是一个可写入并可更新的 BitmapSource。BitmapSource 是 WPF/Silverlight 图像处理管线的基本构造块,从概念上说表示具有特定大小和分辨率的单个不变的像素集。 他们类的继承层次结构如下: System.Object System.Windows原创 2010-03-12 14:31:00 · 8467 阅读 · 2 评论 -
Silverlight 样式
WPF 和 Silverlight 支持 Style 机制,它允许我们把控件的属性值封装成可重用的资源。我们可以把这些样式声明保存在独立于页面的其他文件中(当然本文件也可以),然后就可以在一个应用程序中跨控件和页面重用(甚至跨多个应用程序重用)。在做一些基本定制的场景下,概念上类似于在 HTML 中重用 CSS。 一个样式的简单例子 我们给一个园定义一个名叫 EllipseStyle1原创 2009-12-30 17:16:00 · 1345 阅读 · 3 评论 -
Silverlight 的 Border 控件
Border 控件用于在另一元素周围绘制边框或背景。 先看一个简单的例子 Xaml 文件 UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="Silv原创 2010-01-07 13:21:00 · 5449 阅读 · 0 评论 -
使用 Blend 来创建一个不规则 Border
假设我们有一个空白项,对应的Xaml文件为: UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="SilverlightApplication4.Main原创 2010-01-07 13:21:00 · 2795 阅读 · 0 评论 -
WPF/Silverlight 控件的基本组成
WPF/Silverlight 的控件实现分逻辑和模板两个部分:以 Button 控件为例,如下图所示,他们之间通过 DataBinding 来协作。 上图来自:http://www.wpftutorial.net/Templates.html 每个控件都有一个默认模板,以展示控件的基本外观。我们在Blend中,选中控件,在右键菜单中点击, 编辑模板 --》 编辑副本 。如下图,原创 2010-01-07 13:14:00 · 3456 阅读 · 3 评论 -
Silverlight 图形的转换
这篇是以 Blend 设计工具上的功能按钮为线索来介绍几种Silverlight 图形的转换。转换一般不影响布局,通常是在动画处理或向元素应用添加临时效果时用。 变化中心点的定义 变化的中心点在Blend工具上有2个地方定义: 一个是可以通过鼠标点击就可以使用的9个常用位置, 如下图的 就是。我们可用鼠标来点击这9个点,对应设置这个元素的中心位置。 对应到Xaml 文件中,就原创 2010-01-07 13:22:00 · 1947 阅读 · 1 评论 -
WPF/Silverlight 控件的几幅继承关系图
图均来自网络,如下,这几幅图对理解控件的继承关系很有帮助: DispatcherObject: WPF/Silverlight 中有许多类继承自DispatcherObject,DispatcherObject提供了处理同步和并发的基本构造。 DependencyObject :构建WPF/Silverlight的一个主要思想是属性优先于方法和事件。WPF/Silverlight 提供原创 2010-02-07 17:58:00 · 3579 阅读 · 4 评论 -
Silverlight学习笔记--多媒体
这里通过简单的一个播放器代码来学习如何在silverlight中使用多媒体。代码是参考的 http://www.cnblogs.com/webabcd/archive/2009/11/10/1344632.html 的例子进行稍加改造完成的。执行效果见下图:视频播放的是我家宝宝7个月的时候的视频。 代码如下: Xaml 文件: 说明:这里使用了 Grid 来控制布局。 UserCo原创 2009-12-08 17:23:00 · 2323 阅读 · 1 评论 -
Silverlight OOB
OOB (Out of Browser) 是 Silverlight 3 开始支持的一个新特性,可以让 Silverlight 向 Windows 普通程序那样运行。 如何编写支持OOB特性的程序,需要注意下面三点: 配置 Silverlight 应用,以便使它可以运行在离线模式下,即: 修改 AppManifest.xml 文件,完成这个设置。 程序启动时,检查是否运行在OO原创 2010-01-14 16:37:00 · 4080 阅读 · 2 评论 -
免费的Silverlight Streaming存储空间
之前我一直在使用 http://silverlight.live.com/ 作为我开发的 silverlight 免费存储空间, 最近这里看到将在2010年1月31号就将停止。在上述地址提供的推荐替代方案是使用 Windows Azure 。 Azure 的价格表,请参看: http://www.microsoft.com/windowsazure/offers/ 其中免费的可以提供500M的空原创 2010-01-19 15:22:00 · 1421 阅读 · 7 评论 -
WPF,Silverlight 中的 xmlns,xmlns:x
我们在每一个XAML文件中都可以看到下面的信息: Silverlight应用UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >UserControl>WPF应用原创 2009-11-23 14:08:00 · 6356 阅读 · 6 评论 -
Silverlight 制作的时钟
下面是Silverlight制作的时钟演示: 代码简单介绍: 旋转一个对象的中心点是可以定义在这个对象之外的。这个演示中, 时针,分针,秒针,盘上的格子,就是把旋转的中心点定义在盘面的中心,然后定义旋转转换而实现的。 比如盘面的格子部分,我们在样式中有如下定义: Style x:Key="MarkersBig" TargetType="Rectangle"> Setter Pr原创 2010-01-21 18:05:00 · 2036 阅读 · 3 评论 -
Silverlight 做的海浪效果
效果如下: 代码简单说明: 海面是通过一个Path来实现的,我们通过故事板来修改Path的贝塞尔曲线的点就可以实现这个效果。当然这个东西如果用代码实现,非常麻烦,好在我们可以用Blend方便的设计出这个特效。 完整代码: UserControl x:Class="SilverlightApp_Surf.MainPage" xmlns="http://schemas.micros原创 2010-01-22 13:52:00 · 3114 阅读 · 2 评论 -
Silverlight in OpenSocial
OpenSocial 可为跨多个网站的社交应用程序定义通用 API。最典型的就是获得用户的好友信息。Siverlight 在用户体验方面又可以做出很酷的应用。这两者一旦结合,做出来的应用应该很有市场。 下面就是一个简单的演示。 演示修改自 Michael S. Scherotter 写的例子: 主要修改是: 由于优快云支持的 opensocial 是 0.9, 而 Michae原创 2010-01-20 16:55:00 · 962 阅读 · 0 评论 -
Silverlight学习笔记--绘制与着色(下)
下面是刷子的一些内容: 纯色刷子(SolidColorBrush) Silverlight中使用纯色刷子可以有多种方式如下, object property="predefinedColor"/>- or -object property="#rgb"/>- or -object property="#argb"/>- or -object property="#rr原创 2009-11-25 17:04:00 · 1347 阅读 · 0 评论 -
Silverlight学习笔记--绘制与着色(上)
最近通过看WebCase的录像来学习Silverlight,为了避免学了后面忘了前面,把录像中的重点整理成笔记记录下来。 通过录像来学习Silverlight,我推荐看苏鹏讲的Silverlight探秘系列课程,这个系列课程已经讲到50多讲了。由浅入深,而且连绵不断,确实很有帮助。 这篇博客是对 苏鹏讲解的“Silverlight探秘系列课程(3):绘制与着色”的笔记,网上有很多地方都有原创 2009-11-24 17:24:00 · 1996 阅读 · 1 评论 -
Silverlight学习笔记--通用绘图属性
不透明度属性(Opacity) Opacity属性用于指定刷子的不透明度。 Opacity 属性的值以 0.0 和 1.0 之间的值表示。默认情况下元素的 Opacity 属性为 1.0。 如果 Opacity 值为 0,则表示画笔完全透明;如果值为 1,则表示画笔完全不透明。 如果值为 0.5,则表示画笔的不透明度为 50%;如果值为 0.725,则表示画笔的不透明度为原创 2009-11-30 17:21:00 · 1904 阅读 · 0 评论 -
Blend 的两个选择工具简单对比
我们使用Blend 设计WPF或者Silverlight 界面是,会看到有两个选择工具,下面就是他们的对比。 选择工具 路径选择工具 截图 英文名称 Selection Direct Selection原创 2010-01-25 14:55:00 · 2081 阅读 · 2 评论 -
SilverLight 4.0.41108.0 Beta 的bug
如下Xaml文件, 在 Silverlight 4 中会报错。 UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="SilverlightStudy.Ma原创 2009-12-03 13:43:00 · 886 阅读 · 0 评论 -
Silverlight学习笔记--文字对象
文本的处理 TextBlock 是 Silverlight 中的一个常用又有用的控件。我们可以通过TextBlock呈现只读的文本。 下面是演示代码 UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/wi原创 2009-12-04 14:23:00 · 3132 阅读 · 2 评论 -
MatrixTransform
MatrixTransform 通过创建一个任意仿射矩阵变换,用于操作二维平面中的对象或坐标系。由于仿射变换时,平行的边依然平行,所以,我们无法对一个矩形的位图进行随意变换,比如我们无法拉伸一个角,也无法进行把它变成梯形等。如下图所示:就类似光线照射下,图形的投影。 如下图,从矩形是无法转换成后一种的。 旋转、倾斜、平移、缩放 是最常用的仿射变换,对应就是RotateTransfo原创 2010-02-01 15:00:00 · 3431 阅读 · 2 评论 -
DependencyProperty
和传统属性的区别在哪里,为什么要搞出这样一个DependencyProperty呢? 内存使用量。 我们设计控件,不可避免的要设计很多控件的属性,高度,宽度等等,这样就会有大量(私有)字段的存在,一个继承树下来,低端的对象会无法避免的膨胀。而外部通过GetValue,SetValue暴露属性,内部维护这样一个EffectiveValueEntry的数组,顾名思义,只是维护了一个有效原创 2010-02-07 16:35:00 · 2788 阅读 · 0 评论 -
Silverlight 创建自定义外观的按钮
前面一篇博客“WPF/Silverlight 控件的基本组成” 介绍了创建控件模板的一些基础知识,这篇是一个简单演示,演示一个不规则的按钮。 为了简单期间,我们只定义了按钮的鼠标移动到上面以及鼠标点击两个特效。其他特效没有定义。 演示效果如下: 对应Xaml代码,代码中已经增加了注释,如果前一篇博客阅读过,对代码的阅读就没有难度,代码如下: UserControl xmlns="h原创 2010-01-07 16:50:00 · 3571 阅读 · 2 评论