我目前正在为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>
...
答案 0 :(得分:1)
在内部(AFAIK),基于点击事件触发按钮上的命令。而不是使用click / command事件使用EventToCommand解决方案将您的命令绑定到Tap事件,因为由于它的移动阈值而无法在滑动的同时触发。