後臺cs代碼創建Storyboard動畫

canvas控件:

<Canvas x:Name="canvas" HorizontalAlignment="Left" Height="30" VerticalAlignment="Top" Width="480" Background="#FF4BC295" RenderTransformOrigin="0.5,0.5" Margin="0,32,0,0" Visibility="Visible">
            <Canvas.RenderTransform>
                <CompositeTransform/>
            </Canvas.RenderTransform>
            <TextBlock x:Name="txb_message" Width="480"
                       TextWrapping="Wrap" VerticalAlignment="Center" TextAlignment="Center" HorizontalAlignment="Center"/>
        </Canvas>

聲明全局StoryBoard:

Storyboard sboard = new Storyboard();


創建Storyboard:

        void MainPage_Loaded(object sender, RoutedEventArgs e)
        {
            DoubleAnimation transformx = new DoubleAnimation();
            //設置canvas件的垂直位置變化
            transformx.SetValue(Storyboard.TargetNameProperty, "canvas");
            transformx.SetValue(Storyboard.TargetPropertyProperty,
             new PropertyPath("(UIElement.RenderTransform).(CompositeTransform.TranslateY)"));
            //垂直位置從0到80
            transformx.From = 0;
            transformx.To = 80;
            transformx.Duration = new Duration(new TimeSpan(0, 0, 5));
            sboard.Children.Add(transformx);
            this.LayoutRoot.Resources.Add("Storyboard1", sboard);
        }

點擊播放動畫:

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            sboard.Begin();
        }

參考:http://blog.csdn.net/lianchangshuai/article/details/7419386














發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章