1

Windows Phone 8 アプリを開発していますが、ロングリスト セレクターで項目をタップすると、イベントの処理に問題があります。

だから私はこのデータテンプレートを持っています:

<DataTemplate x:Key="InfoDataTemplate">
    <Grid Margin="12,0,12,0" Width="auto">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <Image x:Name="UserAvatar" Margin="0,12,0,0" Grid.Row="0" Grid.Column="0" Grid.RowSpan="3" Source="{Binding user.avatar_url}" VerticalAlignment="Top"/>
        <TextBlock x:Name="Username" Margin="12,0,0,0" Text="{Binding user.username}" Grid.Row="0" Grid.Column="1" FontSize="24" FontWeight="Bold"/>

このデータ テンプレートを別のページで再利用するため、app.xaml の一部として配置します。

ページ (page1.xaml) の longlistselector でこのデータ テンプレートを使用しています。

<phone:LongListSelector x:Name="UserList" ItemTemplate="{StaticResource InfoDataTemplate}" SelectionChanged="List_SelectionChanged" ItemRealized="List_ItemRealized">                        

意図した動作は、テンプレートの画像をタップするとページ A に移動し、データ テンプレートの他の場所をタップするとページ B に移動することです。これは可能ですか? もしそうなら、どのように実装すればよいですか?ありがとう

4

1 に答える 1

1

この動作を実装することは可能です。次のことを行う必要があります

  • ImageTapped など、Image のタップ イベントを追加します。
  • LonglistSelector ListItemTapped のタップ イベントを追加します。

画像をクリックすると、最初に ImageTapped イベントが呼び出され (ここでフラグを設定する必要があります)、次に ListItemTapped イベントが呼び出され (フラグが設定されているかどうかを確認できます)、それに応じて処理されます。ListItemTapped イベントでフラグをリセットすることを忘れないでください。

于 2013-09-13T12:40:43.510 に答える