我有一个Pivot控件中的图像列表。如果您触摸图像,它将导航到另一个视图。如果轻轻浏览新的枢轴并同时触摸图像,则会导航。
我注意到Facebook应用或原生相册没有这个错误。
有什么想法吗?
编辑:代码:
Image img = new Image();
Delay.LowProfileImageLoader.SetUriSource(img, new Uri(adViewModel.Photos[k].ThbUrl));
img.Width = 150;
img.Tag = k;
img.Height = 150;
img.MouseLeftButtonDown += new MouseButtonEventHandler(launch_Diapo);
Grid.SetRow(img, i);
Grid.SetColumn(img, j);
PhotosGrid.Children.Add(img);
答案 0 :(得分:2)
如果您可以展示您的代码,我们可能会提供更具体的答案。
然而:
我猜你正在使用MouseButtonLeftDown
或类似物来检测图像的触摸。而不是使用toolkit中的Tap
手势。这可以防止您遇到的问题。
当您触摸图像时,有一种可能的替代方法可以禁用枢轴手势,但根据您在pivotItem中使用图像的方式,这可能最终阻止正确的枢轴导航。
您可以在以下代码中添加Tap
事件:
var gl = GestureService.GetGestureListener(img);
gl.Tap += new EventHandler<GestureEventArgs>(gl_Tap);
并且处理程序将是这样的。 (但实际上做了一些有用的事情 - 显然。)
void gl_Tap(object sender, GestureEventArgs e)
{
MessageBox.Show("tapped");
}
答案 1 :(得分:0)
即使我有类似的问题。我做的是,检查MouseButtonLeftDown
位置和MouseButtonLeftUp
位置。如果它们是平等导航,则别做什么。我将粘贴下面的代码。
Point temp;
void img_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
temp = e.GetPosition(null);
}
void img_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
Point point = e.GetPosition(null);
if (point == temp)
{
this.NavigationService.Navigate(new Uri(...));
}
}