0

達成しようとしていることが正しく行われているかどうかはわかりません。

Windows Phone 8 では、アプリで次のことを実行したいと考えています。

画面 1: アルファベットをリスト (A、B、C、D など) で表示します。

画面 2: ユーザーが画面 1 のリストから項目を選択すると、画面 2 には、名前がそのアルファベット文字で始まる顧客が表示されます (Web サービスに接続し、選択した文字で項目を取得します)。

画面 3: 画面 2 から名前を選択すると、その顧客の詳細が表示されます (再び Web サービスに接続し、選択した名前で詳細を取得します)。

だから私はこのチュートリアルhttp://msdn.microsoft.com/en-US/library/windowsphone/develop/jj244365(v=vs.105).aspxに従うことから始めました

これにより、期待どおりにリストが表示されますが、アイテムを選択すると、SelectionChanged イベントが開始されません。それについて調べてみると、LongListSelector を使用してクリックされたアルファベット文字を選択できないようです。だから私はタップイベントを使用しましたが、SelectedItemは常に何もありません。

Private Sub LLSAlpha_SelectionChanged(sender As Object, e As SelectionChangedEventArgs)
    If LLSAlpha Is Nothing Then
        If LLSAlpha.SelectedItem.ToString = "A" Then
            MessageBox.Show("A was selected")
        End If
    End If
End Sub

今、私は、navigateURL メソッドを使用する必要があることをどこかで読みましたが、そのコードを書き込むための正しいイベント (タップ/選択されたアイテムをターゲットにできるイベント) を取得できませんか?

何か不足していますか、それとも別のコントロールを使用して目的を達成する必要がありますか? 参照できる記事はありますか?どんな助けでも大歓迎です。

編集:

私のXAMLは

<phone:LongListSelector x:Name="LLSAlpha" LayoutMode="Grid" GridCellSize="200,200" 
                                ItemTemplate="{StaticResource AlphaTemplate}" ItemsSource="{Binding Listpictures}" 
                                IsGroupingEnabled="True" GroupHeaderTemplate="{StaticResource groupHeaderTemplate}" 
                                JumpListStyle="{StaticResource imageJumpListStyle}"
                                SelectionChanged="LLSAlpha_SelectionChanged"/>
4

1 に答える 1

0

最後にこれを解決しました。これは私が使用したコードです

次に、ItemTemplates と DataTemplate を LLS に追加し、最後に TextBlock を追加します (値を表示するため)。

次に、別のページに移動するには、LLS の SelectionChanged イベントの下に以下のコードを配置します (C# から変換されたコード)。

If LLS.SelectedItem Is Nothing Then
Return

NavigationService.Navigate(New URI("Page.xaml?Item=" & TryCast(LLS.SelectedItem,     CustomerItem).ID, UriKind.Relative))

LLS.SelectedItem = Nothing
End If

アイテムを受け取るページの OnNavigatedTo の下

If DataContext Is Nothing
Dim SelectedIndex as string 

If NavigationContext.QueryString.TryGetValue("Item", SelectedIndex)
dim Index as Integer= Cint.Parse(SelectedIndex)

'Do whatever you want here

End If

End If
于 2013-09-03T10:36:18.747 に答える