1

2ページのシンプルなアプリケーションがあります。最初のページは正常に動作し、2番目のページに移動するボタンがページにあります。

ただし、2ページ目に到達すると、何かに触れようとすると、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がそのような方法で失敗する原因は何でしょうか?

助けてくれてありがとう。

4

1 に答える 1

0

結局のところ、ネストされたパノラマを操作するときにPivotItemsのスクロールを無効にするために使用したメインページからのハックでした。

エラーの原因となったコード:

Touch.FrameReported += (s, e) =>
{
    if (e.GetPrimaryTouchPoint(MainItems).Action == TouchAction.Up)
    {
        MainItems.IsHitTestVisible = true;
    }
};
于 2013-01-16T16:55:30.677 に答える