ListBox を含む PhoneApplicationPage を使用して WP7 アプリを作成しています。
ユーザーが ListBox 内の項目を選択すると、別のページが開きます。
ここで少し混乱しています: 選択を検出するには、どちらの ListBox イベント ハンドラーを使用すればよいですか? Tap または SelectionChanged? また、タップの場合、タップされたアイテムを取得するにはどうすればよいですか?
ListBox を含む PhoneApplicationPage を使用して WP7 アプリを作成しています。
ユーザーが ListBox 内の項目を選択すると、別のページが開きます。
ここで少し混乱しています: 選択を検出するには、どちらの ListBox イベント ハンドラーを使用すればよいですか? Tap または SelectionChanged? また、タップの場合、タップされたアイテムを取得するにはどうすればよいですか?
イベントを使用することをお勧めしSelectionChanged
ます。アイテムがクリックされた場合、これは常に正しい方法で登録されます。
SelectionChanged
イベントを使用する利点は、有用な情報を含むSelectionChangedEventArgsを取得できることです。
ただし重要なことは、項目がクリックされたときに選択されたインデックスを -1 にリセットすることです。そうしないと、ユーザーがページに戻ったときに項目がまだ選択されており、項目をクリックできなくなります。
他の回答に追加するには、SelectionChanged イベントで null チェックも行う必要があります。これは、selected index = -1 にすると、SelectionChanged イベントもトリガーされるためです。
SelectionChanged イベントには 1 つの問題があります。アイテムを選択して新しいページに送信され、再び戻った場合、選択が変更されたときにのみ機能するため、同じアイテムを再度選択することはできません:)。それを心に留めておいてください