我的windows phone 7技能充其量是可怕的。我需要帮助设计一个功能,只需触摸相应的应用程序栏按钮即可滑动到全景控件中的下一个或上一个全景项目。
请考虑以下事项:
<Grid x:Name="Whole" Grid.Row="1">
<controls:Panorama Name="Chunks" Height="auto" Width="auto">
<!--Panorama item one-->
<controls:PanoramaItem x:name="first">
<Rectangle Height="auto" Width="auto">
<Rectangle.Fill>
<ImageBrush x:Name="Logic1"/>
</Rectangle.Fill>
</Rectangle>
</controls:PanoramaItem>
<!--Panorama item two-->
<controls:PanoramaItem x:name="second">
<Rectangle Height="auto" Width="auto">
<Rectangle.Fill>
<ImageBrush x:Name="Logic2"/>
</Rectangle.Fill>
</Rectangle>
</controls:PanoramaItem>
<!--Panorama item two-->
<controls:PanoramaItem x:name="third">
<Rectangle Height="auto" Width="auto">
<Rectangle.Fill>
<ImageBrush x:Name="Logic3"/>
</Rectangle.Fill>
</Rectangle>
</controls:PanoramaItem>
</controls:Panorama>
</Grid>
如何编写代码隐藏以在视图中选择当前全景项目,并通过触摸应用程序栏按钮向左或向右滑动?动议会保留吗?这甚至可能吗?
答案 0 :(得分:3)
你没有!
从技术上讲,您可以对全景控制进行一些重大的返工,或者创建自己的设置以允许此操作。但不要。
panorma创建了一种与应用程序交互的方法,该方法对于平台而言是独一无二的。熟悉手机的用户(即他们已经使用了一个。这将是你的所有用户!)如果你创造一个看起来像全景的东西(无论他们知道它叫什么或不叫),它应该表现得像他们与之互动的每一个全景。
如果您开始创建非标准行为和互动方法,则可能会让用户感到困惑,因为他们如何使用您的应用。如果您希望他们再次使用它,这绝不是一个好主意。
设计文档还明确建议不要使用带有全景图的应用栏。如果你这样做会有一些技术问题,但这也是一个设计问题。 panorma的意图是直接操作所有内容。应用栏按钮也用于与显示的内容进行交互,此内容因全景项目而异。
如果您被迫执行此操作(在枪口点!),您可以通过重新加载同一页面并以编程方式将默认索引设置为所需项目来破解它。这将是非常hacky,并会对背景图像等产生影响。如果你走这条路线,请务必使用nonlinear navigation service配方,这样你就不会完全打破后退按钮。
答案 1 :(得分:0)
您可以以编程方式操作全景控件的显示页面的唯一方法是添加和删除项目集合。这不会导致并发症的结束,并且在任何情况下都不是支持的操作。
你可以设置像这样的Pivot控件的SelectedItem。
但是,正如几位人士已经评论过的那样,样式指南明确且明确地告诉您不要在Panoramic或Pivot应用程序中使用应用程序栏。