我正在开发Windows 8 application.Everything是相当不错的,但我发现有一件事我还没有事先处理-现在比全景控制行为使我困惑。下面是我的应用程序集线器页面的简化示例(带有全景控件):


下一个是简化页面XAML:
<phone:Panorama>
<i:Interaction.Behaviors>
<b:PanoramaBehaviour/>
</i:Interaction.Behaviors>
<phone:PanoramaItem Header="Panorama1">
<ScrollViewer>
<StackPanel>
<Button Height="72" Content="Button1" Click="Button_Click"/>
<Button Height="72" Content="Button2" Click="Button_Click"/>
<Button Height="72" Content="Button3" Click="Button_Click"/>
<Button Height="72" Content="Button4" Click="Button_Click"/>
<Button Height="72" Content="Button5" Click="Button_Click"/>
<Button Height="72" Content="Button6" Click="Button_Click"/>
<Button Height="72" Content="Button7" Click="Button_Click"/>
<Button Height="72" Content="Button8" Click="Button_Click"/>
<Button Height="72" Content="Button9" Click="Button_Click"/>
</StackPanel>
</ScrollViewer>
</phone:PanoramaItem>
<phone:PanoramaItem Header="Panorama2">
<Grid Background="Red" Tap="GridTap"/>
</phone:PanoramaItem>
</phone:Panorama>所以问题是下一个-通常,当我试图从一个项目的全景扫描到另一个项目,我有一个按钮的第一个全景项目点击。所以我被导航到另一个应用程序页面。有人能告诉我,我怎样才能防止这种全景控制行为?
发布于 2014-04-23 07:42:11
是的,这个问题也困扰着我,从WP7开始就一直是个问题。解决方案是在本例中使用Tap事件,而不是使用Click事件,因为这不会以相同的方式提供错误激活。Tap可以在任何UIElement上使用,而不仅仅是按钮。
发布于 2014-04-23 12:58:06
完成!)正如所言,tap事件是以Click事件的另一种方式引发的。因此,对于Panorama上的Button控件解决方案,下一步是:
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
<Button Content="Button1">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Tap">
<i:InvokeCommandAction IsEnabled="True" Command="{Binding TestCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>https://stackoverflow.com/questions/23235920
复制相似问题