Windows Phone 8.1 Bing般的幻灯片页面动画

时间:2014-06-11 09:56:55

标签: xaml windows-phone windows-phone-8.1

我希望以这种方式在我的Windows Phone 8.1应用中添加页面转换,以下页面将从屏幕底部滑入。当您通过点击搜索按钮启动Bing时,会使用类似的效果。

不幸的是,MSDN对该主题的描述并不多。有谁知道如何实现这样的动画?

3 个答案:

答案 0 :(得分:17)

首先,您必须为Frame禁用当前转换 - 最好的位置是App.xaml.cs,其中rootframe已创建,但这取决于您的应用的初始化方式。例如,在MainPage构造函数中:

public MainPage()
{
    this.InitializeComponent();
    Frame mainFrame = Window.Current.Content as Frame;
    mainFrame.ContentTransitions = null;
}

禁用默认转换后,在每个Page中,您都可以定义自己的转换:

Page.xaml

<Page.Transitions>
    <TransitionCollection>
       <PaneThemeTransition Edge="Bottom"/>          
    </TransitionCollection>
</Page.Transitions>

我不确定这是否是您正在寻找的确切动画。有关动画的更多信息,请参阅here at MSDN

当然,您还可以定义Frame的新ContentTransitions,以便它们成为所有Pages的默认值 - 例如:

// instead of null put in MainPage constructor:
mainFrame.ContentTransitions = new TransitionCollection { new PaneThemeTransition { Edge = EdgeTransitionLocation.Bottom } };

答案 1 :(得分:3)

可以从代码中基于每个导航覆盖默认转换。

NavigationTransitionInfo transitionInfo = new SlideNavigationTransitionInfo();
Frame.Navigate(typeof(SecondPage), false, transitionInfo);

上面的代码将强制SecondPage以您想要的方式从底部滑入。但是,这仅适用于此特定导航方案。如果您希望SecondPage在从任何位置导航时滑入,请在XAML中设置NavigationTransitionInfo

<Page.Transitions>
    <TransitionCollection>
        <NavigationThemeTransition>
            <NavigationThemeTransition.DefaultNavigationTransitionInfo>
                <SlideNavigationTransitionInfo/>
            </NavigationThemeTransition.DefaultNavigationTransitionInfo>
        </NavigationThemeTransition>
    </TransitionCollection>
</Page.Transitions>

这会强制页面在导航到的时候滑入。仍可通过特定导航方案的代码覆盖此默认值。

答案 2 :(得分:-2)

The Windows Phone Toolkit中,您可以找到动画和示例

以下是article