【问题标题】:How to disable panorama default animation如何禁用全景默认动画
【发布时间】:2013-04-09 02:54:02
【问题描述】:

当我们导航到具有全景控件的页面时。它显示从右到左的幻灯片动画。我们如何禁用这个默认的全景动画?

【问题讨论】:

    标签: windows-phone


    【解决方案1】:

    你没有。除非您想从头开始重写 PanningLayer 控件。真的,你为什么要这样做?这违反了默认的平台用户体验。

    【讨论】:

    • 如果我打开全景页面并导航到全景中的第二个项目并按下开始按钮,应用程序将被停用。当通过按下硬件返回按钮再次激活它时,在全景图中,必须聚焦最后查看的项目,即第 2 个项目(以实现立碑)。我已经做到了。但是当应用程序被激活时,第一个项目首先出现,然后动画发生,然后只有第二个项目成为焦点。它看起来不太好。这就是为什么我问我们是否可以禁用这个动画。在这种情况下我们是否也应该禁用默认动画?
    • 实际上,默认行为似乎是更改项目的顺序,因此最后选择的项目首先出现。 (参见音乐中心)。
    • 嘘!这取决于应用程序。如果您有一个很棒的加载屏幕,那么您可以过渡到显示全景图,它完全合法地不需要旋转门动画,而是需要淡入。请参阅 fox 新闻应用
    【解决方案2】:

    看起来没有什么好的方法。这是我如何解决它的。基本上将不透明度设置为 0,直到动画完成,而全景背景和标题显示在实际全景后面。

    <Grid x:Name="LayoutRoot">
    
        <Image Source="{Binding BackgroundUri"></Image>
        <Image Source="{Binding Title}"></Image>
    
    
        <controls:Panorama x:Name="Panorama" ... />
    
        <Grid.Triggers>
            <EventTrigger RoutedEvent="Grid.Loaded">
                <BeginStoryboard>
                    <Storyboard >
                        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="Panorama">
                            <EasingDoubleKeyFrame KeyTime="0" Value="0"/>
                            <EasingDoubleKeyFrame KeyTime="0:0:1.5" Value="0"/>
                            <EasingDoubleKeyFrame KeyTime="0:0:1.5" Value="1"/>
                        </DoubleAnimationUsingKeyFrames>
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger>
        </Grid.Triggers>
    </Grid>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-25
      • 2021-09-19
      • 2021-10-23
      • 1970-01-01
      • 2016-06-24
      • 2011-04-20
      • 1970-01-01
      相关资源
      最近更新 更多