• SilverLight实现绕垂直中线翻转效果


    主要通过StoryBoard来控制PlaneProjection的RotationY来实现

    XAML: 

        <Grid x:Name="LayoutRoot" Background="White"  Height="Auto" Width="Auto">

            <Grid.Resources>

            </Grid.Resources>

            <StackPanel>

                <UCTL:NavgationforZB x:Name="Navgation"></UCTL:NavgationforZB>

                    <Grid  x:Name="ChartPanel" Height="Auto" Width="Auto"   >

                </Grid>

            </StackPanel>

        </Grid >

    CS:

             private void Flip()

            {


                PlaneProjection pp = new PlaneProjection { CenterOfRotationY = .5, CenterOfRotationX=.5 };

                this.ChartPanel.Projection = pp;

                if (perSb != null)

                {

                    perSb.Stop();

                }


                Storyboard sboard = new Storyboard();

                perSb = sboard;

                DoubleAnimation daAngle = new DoubleAnimation();

                daAngle.From = -180;

                daAngle.To = 0;

                daAngle.Duration = TimeSpan.FromSeconds(1);

                daAngle.EasingFunction = new PowerEase() { EasingMode = EasingMode.EaseOut, Power = 3 };

                Storyboard.SetTargetProperty(daAngle, new PropertyPath("RotationY"));

                Storyboard.SetTarget(daAngle, pp);

                sboard.Children.Add(daAngle);

                sboard.Begin();

            }

    有几点注意的地方:

    1.  Storyboard.SetTarget(daAngle, pp); target 是PlaneProjection 的对象;

    2.  执行Storyboard的Begin方法的时停止前一个Storyboard;

    3.如果From 0 to 180来翻转的话文字是横向180反转的,0 to 360 这样的话就会转两圈,文字是正了,但是有个超级郁闷的问题,文字模糊了。害我浪费了一天。

    后来突发奇想改成 -180 to 0 居然OK了。汗==!!!! 

    QQ群:1022985150 VX:kklldog 一起探讨学习.NET技术
    作者:Agile.Zhou(kklldog)
    出处:http://www.cnblogs.com/kklldog/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    SQL 通配符
    正则表达式
    与运算(&)、或运算(|)、异或运算(^)、右移运算符(>>>)本质介绍
    博客园博客目录自动生成(页面目录)
    Linux查看并杀死被占用的端口
    Eclipse的环境配置
    L-Rui
    Web页面弹出窗口代码大全
    linux-用户
    linux-网络
  • 原文地址:https://www.cnblogs.com/kklldog/p/1780782.html
Copyright © 2020-2023  润新知