WP8:在全景/枢轴中导航时触发按钮事件

时间:2013-10-17 13:47:06

标签: c# button windows-phone-8 panorama-control pivotviewer

我目前正在为WP8开发应用程序,并且在浏览Panorama或Pivot-Views时出现问题。

例如: 我有一个Panorama,每页都有几个按钮。如果我尝试在这些页面之间导航,我有时会不小心设法为某些按钮引发Click事件。

在尝试重现该错误后,我发现,这主要发生在我滑过一小段距离时。如果我长距离滑动,则不会出现错误,也不会引发任何事件。

我正在使用Command Binding进行事件处理,我是否可以更改它?我真的想弄清楚这一点,但是我仍然找不到除了服务之外的其他方法,如果发生滑动则禁用所有事件。

提前感谢你能给我的任何帮助!

PS:这是一些代码,不知道它是否/如何帮助:

<phone:Panorama x:Name="Panorama" Title="{Binding LocalizationService.Resources.ApplicationTitle}">
    <phone:PanoramaItem Header="{Binding LocalizationService.Resources.MainPage_Header}" HeaderTemplate="{StaticResource PanoramaItemHeaderTemplate}">

    ...

      <Button Command="{Binding CmdNavigateToZipSearch}" Style="{StaticResource PizzaButtonAccentStyle}" Width="214" Height="172">
          <Grid>
             <Grid.RowDefinitions>
                 <RowDefinition Height="*" />
                 <RowDefinition Height="Auto" />
             </Grid.RowDefinitions>
             <Image Grid.Row="0" Source="/Assets/icon_plz-suche.png" Stretch="Uniform" Height="77" Margin="1,6,0,0" />
             <TextBlock Grid.Row="1" Text="{Binding LocalizationService.Resources.MainPage_ZipSearch_Label}" Style="{StaticResource PizzaTextContrastStyle}" />
         </Grid>
     </Button>

    ...

1 个答案:

答案 0 :(得分:1)

在内部(AFAIK),基于点击事件触发按钮上的命令。而不是使用click / command事件使用EventToCommand解决方案将您的命令绑定到Tap事件,因为由于它的移动阈值而无法在滑动的同时触发。