0

Windows Phone 用のアプリを作成しています。このアプリには、タイトル、プロット、画像を含む映画のリストがあります。このリストは、データを表示するアイテムのカスタム DataTemplate を使用して ListBox にバインドされています。また、各映画の詳細を表示する 2 番目のページも作成しました。私の問題は、これらのページ間のナビゲーションです。私はMVVMを使用してアプリケーションを構築しています.インターネットで検索して見つけたアプローチのほとんどは、コードビハインドでOnSelectionChangedイベントを使用することですが、MVVMを使用することです。

私が見た他のアプローチは、SelectedItem を ViewModel のプロパティにバインドすることですが、プロパティを変更することはできません。リストボックスで項目を選択できないようです. また、たとえば電話の設定メニューにあるフィードバックのように、リストボックス内の項目の 1 つを押したときに視覚的なフィードバックがありません。

リストボックスで使用しているコードは次のとおりです。

<ListBox Margin="0,0,-12,0" ItemsSource="{Binding Movies}" SelectedItem="{Binding SelectedMovieItem}" SelectionMode="Single" >
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal" Margin="0,0,0,17">
                            <!--Replace rectangle with image-->
                            <Rectangle Height="50" Width="50" Fill="#FFE5001b" Margin="12,0,9,0"/>
                            <StackPanel Width="311">
                                <TextBlock Text="{Binding Name}" TextWrapping="NoWrap" Style="{StaticResource PhoneTextExtraLargeStyle}" Foreground="#000" />
                                <!--<TextBlock Text="{Binding LineTwo}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>-->
                            </StackPanel>
                        </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>

私が見た別のアプローチは、INavigationService を使用してこれを達成することです。次の記事を見つけました : http://windowsphonegeek.com/articles/MVVM-in-real-life-Windows-Phone-applications-Part1と2つですが、これが機能することを理解できませんでした。

したがって、私が知りたいのは、私が使用しているアプローチがページ ナビゲーションを作成するのに正しいかどうか、または MVVM を使用してリストボックスの視覚的なフィードバックでこれを行うより良い方法があるかどうかです。

4

1 に答える 1