WP8点击图像以获取longlistselector中的所选项目

我创建了一个带有文本块和图像的LongListSelector,然后如何点击图像以在列表中显示所选项目名称,然后点击项目名称以显示消息框? 下面是我绑定名称和图像的代码:

            

代码背后:

 private void MainLongListSelector_SelectionChanged(object sender, SelectionChangedEventArgs e) { MessageBox.Show("Hi"); } private void GetName_Tap(object sender, System.Windows.Input.GestureEventArgs e) { LongListSelector selector = sender as LongListSelector; StaffData data = selector.SelectedItem as StaffData; MessageBox.Show(data.Name); } 

当我点击文本块时,显示消息“Hi”成功。 但是如果我点击图像,我会得到空值。 我该如何解决? 谢谢

sender不是LongListSelector,而是用户点击的图像,因此为null错误。

基本上,您只想检索用户点击过的项目? 在这种情况下,使用tapped控件的DataContext属性来检索它:

 private void GetName_Tap(object sender, System.Windows.Input.GestureEventArgs e) { var element = (FrameworkElement)sender; StaffData data = (StaffData)element.DataContext; MessageBox.Show(data.Name); } 

(FrameworkElement是每个UI控件的基本类型。使用它,您不必担心它是图像,文本块,……)