WEB开发网
开发学院图形图像Flash Silverlight: 使用 XAML 和 Expression Blend 创建... 阅读

Silverlight: 使用 XAML 和 Expression Blend 创建动画

 2008-10-26 11:49:25 来源:WEB开发网   
核心提示: 例如,下面的 XAML 将创建一个宽 96 像素、高 88 像素的红色矩形: <Rectangle Fill="#FFFF0404" Stroke="#FF000000"Width="96" Height="88&

例如,下面的 XAML 将创建一个宽 96 像素、高 88 像素的红色矩形:

<Rectangle Fill="#FFFF0404" Stroke="#FF000000"
 Width="96" Height="88"
 Canvas.Left="112" Canvas.Top="72" />

图 2 演示了此对象在 Silverlight 中呈现时的外观。

Silverlight: 使用 XAML 和 Expression Blend 创建动画

图 2 呈现矩形

要对此对象应用 ScaleTransform,可使用 RenderTransform 并将转换指定为 ScaleTransform。XAML 如下:

<Rectangle Fill="#FFFF0404" Stroke="#FF000000"
 Width="96" Height="88" Canvas.Left="112" Canvas.Top="72">
 <Rectangle.RenderTransform>
  <ScaleTransform ScaleX="2" />
 </Rectangle.RenderTransform>
</Rectangle>

如果您熟悉编码,您会发现,使用 ScaleTransform,该矩形在水平上的大小扩展到了右侧。这是因为未指定缩放中心。您可以使用 CenterX 属性进行水平缩放或使用 CenterY 属性进行垂直缩放来指定缩放中心。这两个属性指定缩放中心的坐标。请注意,此坐标是相对于矩形左上角的。此外,默认坐标为 0,表示缩放会发生在水平轴的右侧和垂直轴的下侧。

如果将 CenterX 属性设置为正值(例如,50),则将绕 X 点将此矩形的最左端向右缩放 50 像素。这看起来像是 CenterX 未更改位置而矩形向左移动了一定的像素数(此大小取决于比例因子的大小)。这是因为拉伸是以该点为中心进行的,将此矩形的左侧向左推而将其右侧向右推。您可以利用相同的方式设置 ScaleY 和 CenterY 值以获得相似的效果:

<Rectangle Fill="#FFFF0404" Stroke="#FF000000"
 Width="96" Height="88"
 Canvas.Left="80" Canvas.Top="80">
 <Rectangle.RenderTransform>
  <ScaleTransform ScaleX="2"
   CenterX="50"/>
 </Rectangle.RenderTransform>
</Rectangle>

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Silverlight 使用 XAML

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接