轉(zhuǎn)帖|其它|編輯:郝浩|2011-03-28 13:23:36.000|閱讀 976 次
概述:
前幾天看到學(xué)習(xí)Silverlight需要注意的十件事情,其中就有要熟練的編寫XAML代碼,所以在制作時(shí)鐘時(shí)我沒有使用Blend,而是使用純手工制作,希望能取得勞斯萊斯的效果。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
前幾天看到學(xué)習(xí)Silverlight需要注意的十件事情,其中就有要熟練的編寫XAML代碼,所以在制作時(shí)鐘時(shí)我沒有使用Blend,而是使用純手工制作,希望能取得勞斯萊斯的效果。
制作時(shí)鐘本就是Silverlight SDK中的一個(gè)基礎(chǔ),也沒有什么復(fù)雜的東西,把一下的代碼復(fù)制幾遍稍加修改就行了
<Ellipse Margin="310,0,250,150" Width="330" Height="330">
<Ellipse.Fill>
<LinearGradientBrush>
<GradientStop Color="White"/>
<GradientStop Color="Gray" Offset="0.5"/>
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
不過再簡單的事情到了初學(xué)者手中總會(huì)碰到問題的:
第一就是中間加小圓圈的時(shí)候,
<Ellipse Margin="310,0,250,150" Width="30" Height="30"
Stroke="Green" StrokeThickness="8">
<Ellipse.Fill>
<LinearGradientBrush>
<GradientStop Color="Black"/>
<!--<GradientStop Color="Gray" Offset="0.5"/>-->
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
Stroke是指圓圈外部的圓環(huán),而里面的才是圓圈最中間的顏色
這樣一個(gè)外綠內(nèi)黑的環(huán)就一步做好了,當(dāng)然也可以用兩個(gè)Ellipse來做。
當(dāng)添加表針動(dòng)畫時(shí),有幾個(gè)要注意的地方
<Rectangle Margin="310,0,250,270" Fill="Green" Width="10"
Height="80" RenderTransformOrigin="0.5,1.25">
<Rectangle.RenderTransform>
<RotateTransform x:Name="secondTransform"/>
</Rectangle.RenderTransform>
</Rectangle>
此處RenderTransformOrigin是指旋轉(zhuǎn)的水平中心點(diǎn)和垂直中心點(diǎn),0.5,1.0即以矩形的底邊中心點(diǎn)為旋轉(zhuǎn)軸的
動(dòng)畫時(shí)間的控制
<DoubleAnimation x:Name="secondAnimation"
Storyboard.TargetName="secondTransform"
Storyboard.TargetProperty="Angle"
Duration="0:1:0" RepeatBehavior="Forever" To="360"/><!--秒針走一圈所需時(shí)間-->
Duration="1:0:0" RepeatBehavior="Forever" To="360"/><!--分針走一圈所需時(shí)間是一小時(shí)-->
Duration="12:0:0" RepeatBehavior="Forever" To="360"/><!--時(shí)針走一圈所需時(shí)間為12小時(shí)-->
Duration是指表示 Timeline 處于活動(dòng)狀態(tài)的持續(xù)時(shí)間。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:網(wǎng)絡(luò)轉(zhuǎn)載