2011-07-24 121 views

回答

3

你不知道。除非你想从零开始重写PanningLayer控件。真的,你为什么要这么做?它违背了默认的平台UX。

+0

如果我打开全景图页面,并且如果导航到全景图中的第二项并按下开始按钮,应用程序将被停用。当通过按下硬件后退按钮再次激活时,在全景中,最后查看的项目必须被聚焦,即第二项(为了实现竖碑)。我已经做到了。但是,当应用程序被激活时,第一个项目在动画发生之后首先可见,然后只有第二个项目开始关注。它看起来不太好。这就是为什么我问我们是否可以禁用此动画。在这种情况下,我们也应该不禁用默认动画? – saikamesh

+0

实际上,它的默认行为似乎是更改项目的顺序,所以最后选择的项目首先出现。 (请参阅音乐中心)。 –

+0

嘘!这取决于应用程序。如果你有一个很棒的加载屏幕,那么你可以过渡到显示一个完全合法的pano,不想要旋转栅格动画,但会淡入。请参阅狐狸新闻应用程序 – Quincy

1

看起来好像没有一个好的方法。这是我如何解决它的。基本上将不透明度设置为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>