系统OnTouch事件中抛出ArgumentException

时间:2013-01-16 03:17:24

标签: windows-phone-7 windows-phone-7.1 windows-phone-8 windows-phone windows-phone-7.1.1

我有一个简单的应用程序,上面有两个页面。第一页正常运行,我在页面上有一个导航到第二页的按钮。

但是,当我到达第二页时,每次尝试触摸任何内容时,OnTouch事件都会触发,ArgumentException

中会引发ListDictionaryInternal

但是,我在页面上没有任何与此OnTouch事件交互的内容,所以我不确定是什么导致它。

导航到新页面的代码:

string page = "valid";
NavigationService.Navigate(
    new Uri("/Dialog.xaml?page=" + page,
    UriKind.Relative)
);

崩溃的页面的XAML非常简单:

<Grid x:Name="LayoutRoot" Background="Transparent">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>

    <!--TitlePanel contains the name of the application and page title-->
    <StackPanel Grid.Row="0" Margin="12,17,0,28">
        <TextBlock Name="AppName" Style="{StaticResource PhoneTextNormalStyle}"/>
        <TextBlock Name="PageName" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle2Style}"/>
    </StackPanel>

    <!--ContentPanel - place additional content here-->
    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
        <Button Click="CancelDownload_Click" Opacity="1.0" Content="Cancel REST Request!" Background="Blue" Foreground="White" BorderBrush="Black" FontWeight="Bold" BorderThickness="1" x:Name="CancelData" VerticalAlignment="Center" Margin="90,327,90,291" Height="150" Width="300" Visibility="Collapsed" />
    </Grid>
</Grid>

可能导致OnTouch以这种方式失败的原因是什么?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

事实证明,当我与嵌套的Panorama进行交互时,我用来禁用滚动数据透视表的主页面是一个黑客攻击。

导致错误的代码:

Touch.FrameReported += (s, e) =>
{
    if (e.GetPrimaryTouchPoint(MainItems).Action == TouchAction.Up)
    {
        MainItems.IsHitTestVisible = true;
    }
};