我有一个简单的应用程序,上面有两个页面。第一页正常运行,我在页面上有一个导航到第二页的按钮。
但是,当我到达第二页时,每次尝试触摸任何内容时,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以这种方式失败的原因是什么?
感谢您的帮助。
答案 0 :(得分:0)
事实证明,当我与嵌套的Panorama进行交互时,我用来禁用滚动数据透视表的主页面是一个黑客攻击。
导致错误的代码:
Touch.FrameReported += (s, e) =>
{
if (e.GetPrimaryTouchPoint(MainItems).Action == TouchAction.Up)
{
MainItems.IsHitTestVisible = true;
}
};