我在我的wp8应用程序中使用全景控件,该应用程序由4个全景项目组成。这些项目都是我单独的文件。项目中的内容绑定到视图模型(使用MVVM Cross)。
问题是,当我从全景图项目导航到新页面并返回时,全景图控件会显示第一个全景图项目(它有点重置)。
我尝试使用全景控件上的OnNavigatedTo
覆盖selectedIndex
,但它只返回-1
。
包含panorama-control的xaml类:
<Grid x:Name="LayoutRoot" Background="Transparent">
<!--Panorama Control-->
<!--Cannot bind directly to background with ImageBrush, using converter instead-->
<controls:Panorama x:Name="panorama"
Background="{Binding Home.WindowsBackgroundUrl, Converter={StaticResource ImageBrushConverter}}">
<controls:Panorama.Title>
<StackPanel Orientation="Vertical" Margin="0,60,0,0">
<Image x:Name="Icon" Source="/Images/PanoramaLogo.png" />
</StackPanel>
</controls:Panorama.Title>
<!--Panorama items-->
<ScrollViewer>
<local:InterestView x:Name="Interest" Margin="0,-20,0,0" />
</ScrollViewer>
<ScrollViewer>
<local:CustomerCategoryPanoramaItem x:Name="Customer" Margin="0,-20,0,0"/>
</ScrollViewer>
<ScrollViewer>
<local:MapListView x:Name="MapList" Margin="0,-20,0,0"/>
</ScrollViewer>
<ScrollViewer>
<local:ContactMeView Margin="0,-20,0,0"/>
</ScrollViewer>
</controls:Panorama>
</Grid>
感谢您的帮助
答案 0 :(得分:0)
如果您将视频堆栈中的屏幕保持不变,那么全景控制将照顾到其他副本,我们必须在我们向前导航时以及当我们返回Panorama控制时保留所选全景图。为此,我们必须设置其DefaultItem
属性。
全景编号从0开始为视图编号,如果我们有三个全景项目,则会将0分为第一个,第1个到第二个,第2个到第3个。
示例:
PanoramaControl.DefaultItem = PanoramaControl.Items[0 to 2];