65.9K
CodeProject 正在变化。 阅读更多。
Home

Silverlight 页面翻转导航

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.14/5 (20投票s)

2009 年 7 月 21 日

CC (ASA 2.5)
viewsIcon

100382

downloadIcon

3073

描述了 Silverlight 中的页面到页面导航(带翻页动画)。

引言

本文描述了如何在 Silverlight 中使用翻转动画在页面之间导航。

Using the Code

可以使用来自 System.Windows.Media 命名空间的 PlaneProjection 来实现翻转动画。您必须在需要翻转动画的所有 XAML 页面中使用以下代码片段:

<Grid.Projection>
   <PlaneProjection x:Name="Projection"/>
</Grid.Projection>

并在代码库中,添加一个双动画故事板来翻转页面:

DoubleAnimation daY1 = new DoubleAnimation { From = 0.00, To = 90.00 };
Storyboard.SetTargetName(daY1, "Projection");
Storyboard.SetTargetProperty(daY1, new PropertyPath("RotationX"));
stb1.Children.Add(daY1);
this.Resources.Add("EndOfPage", stb1);
Storyboard stb = new Storyboard();
stb.Duration = new Duration(TimeSpan.FromSeconds(1));
stb.SpeedRatio = 3;
DoubleAnimation daY = new DoubleAnimation { From = -90.00, To = 0.00 };
Storyboard.SetTargetName(daY, "Projection");
Storyboard.SetTargetProperty(daY, new PropertyPath("RotationX"));
stb.Children.Add(daY);
this.Resources.Add("StartOfPage", stb);

并使用此方法从页面到页面导航:

public void SwitchToPage(UserControl p)
{
    NextPage = p;
    if (CurrentPage != p)
    {
        Storyboard currStb = CurrentPage.Resources["EndOfPage"] as Storyboard;
        currStb.Completed += new EventHandler(currStb_Completed);
        currStb.Begin();
    }
}

历史

  • 2009 年 7 月 21 日:初始发布
Silverlight 页面翻转导航 - CodeProject - 代码之家
© . All rights reserved.