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 を使用してリストボックスの視覚的なフィードバックでこれを行うより良い方法があるかどうかです。