これは簡単な作業ですが、その方法がわかりません。リストビュー内のアイテムのクリックを聞き、対応するモデルオブジェクトを取得して、新しい画面を起動したいと思います。
これは、ListViewのXAMLです。
<ListView x:Name="ItemListView"
ItemTemplate="{StaticResource StoreFrontTileTemplate}"
ItemContainerStyle="{StaticResource StoreFrontLVTileStyle}"
Margin="0" VerticalAlignment="Top" ItemClick="MyClick" Tapped="MyTap"/>
そしてMyClick、MyTap:
private void MyClick(object sender, ItemClickEventArgs e)
{
Debug.WriteLine("Click!");
}
private void MyTap(object sender, TappedRoutedEventArgs e)
{
Debug.WriteLine("TAp!!" + sender.ToString() + "--" + e.ToString());
}
新しい画面に移動する方法:
this.Frame.Navigate(typeof(SecondScreen));
動作しますが、クリックしたアイテムのモデルオブジェクトが必要で、それをパラメータとして2番目の画面に渡します。
ただし、MyClickが呼び出されることはなく、MyTapはクリックされたアイテムに関する情報を提供しません。「送信者」はListViewです。
私はこれらの例をダウンロードしました:
http://code.msdn.microsoft.com/windowsapps/XAML-ListView-sample-pack-0ec6b60f
しかし、必要なものは含まれていません。マスター/詳細ビューがありますが、バインディングで機能し、完全に新しい画面を起動します。
注:私はWindows開発の初心者であり、クリックされた要素の位置を使用してコールバックを実装するAndroidまたはIOSでそれを行う通常の方法を指向しています。Windows8でそれを行う正しい方法についてはわかりません。