Windows Phone 8.1通过按住选择列表视图中的项目

Rav*_*art 4 c# listview windows-phone-8.1

有没有办法在Windows Phone 8.1中使用暂挂事件选择列表视图中的项目?

如果我使用单击,我使用此代码,它工作正常

private void LstMyListView_Tapped(object sender, TappedRoutedEventArgs e)
{
  MyItem myItem = LstMyListView.SelectedItem as MyItem;
}
Run Code Online (Sandbox Code Playgroud)

myItem包含我所选项目的数据

但是,如果我使用此代码

private void LstMyListView_Holding(object sender, HoldingRoutedEventArgs e)
{
  MyItem myItem = LstMyListView.SelectedItem as MyItem;
}
Run Code Online (Sandbox Code Playgroud)

myItem结果为null.

如何通过hold事件获取所选项目?

谢谢!

Rom*_*asz 9

您应该能够从DataContext中检索项目并执行强制转换,例如:

private void LstMyListView_Holding(object sender, HoldingRoutedEventArgs e)
{
    FrameworkElement element = (FrameworkElement)e.OriginalSource;
    if (element.DataContext != null && element.DataContext is MyItem)
    {
        MyItem selectedOne = (MyItem)element.DataContext;
        // rest of the code
    }
}
Run Code Online (Sandbox Code Playgroud)