轉帖|其它|編輯:郝浩|2011-03-28 13:23:36.000|閱讀 976 次
概述:
前幾天看到學習Silverlight需要注意的十件事情,其中就有要熟練的編寫XAML代碼,所以在制作時鐘時我沒有使用Blend,而是使用純手工制作,希望能取得勞斯萊斯的效果。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
前幾天看到學習Silverlight需要注意的十件事情,其中就有要熟練的編寫XAML代碼,所以在制作時鐘時我沒有使用Blend,而是使用純手工制作,希望能取得勞斯萊斯的效果。
制作時鐘本就是Silverlight SDK中的一個基礎,也沒有什么復雜的東西,把一下的代碼復制幾遍稍加修改就行了
<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>
不過再簡單的事情到了初學者手中總會碰到問題的:
第一就是中間加小圓圈的時候,
<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是指圓圈外部的圓環,而里面的才是圓圈最中間的顏色
這樣一個外綠內黑的環就一步做好了,當然也可以用兩個Ellipse來做。
當添加表針動畫時,有幾個要注意的地方
<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是指旋轉的水平中心點和垂直中心點,0.5,1.0即以矩形的底邊中心點為旋轉軸的
動畫時間的控制
<DoubleAnimation x:Name="secondAnimation"
Storyboard.TargetName="secondTransform"
Storyboard.TargetProperty="Angle"
Duration="0:1:0" RepeatBehavior="Forever" To="360"/><!--秒針走一圈所需時間-->
Duration="1:0:0" RepeatBehavior="Forever" To="360"/><!--分針走一圈所需時間是一小時-->
Duration="12:0:0" RepeatBehavior="Forever" To="360"/><!--時針走一圈所需時間為12小時-->
Duration是指表示 Timeline 處于活動狀態的持續時間。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:網絡轉載