3

我目前正在为 WP8 开发应用程序,但在导航全景或透视视图时遇到问题。

例如:我有一个全景图,它本身在每个页面上都包含一些按钮。如果我尝试在这些页面之间导航,有时我会不小心设法为某些按钮引发点击事件。

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

我正在使用命令绑定进行事件处理,我应该改变它吗?我真的很想弄清楚这一点,但我仍然找不到除了服务之外的其他方法,如果发生滑动,它会禁用所有事件。

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

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>

    ...
4

1 回答 1

1

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

于 2013-10-17T15:36:01.317 回答