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控件的基本类型。使用它,您不必担心它是图像,文本块,……)