单击图像时,C#:PointerPressed已被调用两次

时间:2016-09-13 06:04:20

标签: c# win-universal-app uwp

我是UWP的初学者。我想在更改splitview开放状态的图片上添加点击事件。所以我在ma xaml中有一个图像:

<Image x:Name="image_1_6" HorizontalAlignment="Left" Height="200" Margin="1225,559,-171,0" VerticalAlignment="Top" Width="200" Source="Assets\images.jpg" PointerPressed="image_1_6_PointerPressed"/>

我将image_1_6_PointerPressed定义为:

private void image_1_6_PointerPressed(object sender, Windows.UI.Xaml.Input.PointerRoutedEventArgs e)
    {
        mySplitView.IsPaneOpen = !mySplitView.IsPaneOpen;
    }

但是当我点击图片时mySplitView打开和关闭!请问有谁可以帮助我吗?感谢。

2 个答案:

答案 0 :(得分:2)

pointerpressed并不像点击事件那样工作。当您按下并保持按钮并且当您离开按钮事件结束时,它会调用。因此,当您点击图像时,您认为此事件会调用两次! 您应该为此调用Tapped事件。

<Image x:Name="image_1_6" HorizontalAlignment="Left" Height="200" Margin="1225,559,-171,0" VerticalAlignment="Top" Width="200" Source="Assets\images.jpg" Tapped="image_1_6_PointerPressed"/>

答案 1 :(得分:0)

在您诊断之前,您可以尝试以下方法:

  private bool pointerWorking = false;
  private void image_1_6_PointerPressed(object sender, Windows.UI.Xaml.Input.PointerRoutedEventArgs e)
{
    if(!pointerWorking){
        pointerWorking = true;
        mySplitView.IsPaneOpen = !mySplitView.IsPaneOpen;
        pointerWorking = false;
    }
}

您还可以尝试其他活动