【发布时间】:2012-11-10 22:15:23
【问题描述】:
这应该是一个微不足道的任务,但我找不到如何去做。我想听听点击列表视图中的项目,获取相应的模型对象,然后启动一个新屏幕。
这是 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));
它可以工作,但我需要单击项目的模型对象并将其作为参数传递给第二个屏幕。
但是 MyClick 从未被调用,并且 MyTap 没有给我任何关于被点击项目的信息。 “发件人”是 ListView。
我下载了这些例子:
http://code.msdn.microsoft.com/windowsapps/XAML-ListView-sample-pack-0ec6b60f
但它不包含我需要的内容,有一个主/详细视图,但它适用于绑定,我想要做的是启动一个完整的新屏幕。
注意:我是 Windows 开发方面的菜鸟,并且倾向于在 Android 或 IOS 中使用通常的方法来实现,在这些方法中,您使用被点击元素的位置实现回调。不知道在 Windows 8 中执行此操作的正确方法。
【问题讨论】: