Q
在列表视图上双击
1
A
回答
1
正如Aaron Xue所说的here,您无法直接通过Tapped事件获取点击项目。然而,你可以得到Y坐标,计算项目索引我们点击则获得该项目:
private void ListView_Tapped(object sender, TappedRoutedEventArgs e)
{
int item = 0;
Double coY = e.GetPosition((UIElement)sender).Y;
ListView lv = sender as ListView;
if (sender is ListView)
{
lv.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));
Size lvSize = lv.DesiredSize;
item = (int)(coY/lvSize.Height * lv.Items.Count);
item = item > lv.Items.Count ? lv.Items.Count : item;
}
var TappedItem = lv.Items[item];
}
+0
即使我已经尝试过。但是选定的项目中没有任何项目。 – nerd
+0
@ user1562041对不起。我误解了你的问题。试试我的编辑。 – letiagoalves
2
的DataGrid和ListView有好的方法的HitTest,通过它可以得到选择的项目。
private void ListView_Tapped(object sender, TappedRoutedEventArgs e)
{
var listView = sender as ListView;
if (!(sender is ListView))
{
return;
}
var hitTest = listView.HitTest(e.X, e.Y);
ListViewItem tappedListViewItem = hitTest.Item;
}
1
我找到了解决这个问题的方法。
在获取DoubleTap事件之前轻敲列表视图项目时,您将获得GetFocus事件。 在这种情况下,您将获得所选项目,并且您可以在Doubletap中使用此选定项目。
private async void OnDoubleClick(object sender,
Windows.UI.Xaml.Input.DoubleTappedRoutedEventArgs e)
{
}
private void OnFocus(object sender, Windows.UI.Xaml.RoutedEventArgs e)
{
ListviewItem lv = (ListViewItem)e.OriginalSource;
string str = lv.SelectedItem.tostring();
}
感谢
相关问题
- 1. 列表视图双击
- 2. 我想在列表视图上实现单击和双击
- 3. 双击列表视图中的一行
- 4. 列表视图双击项目
- 5. 列表视图框,双击文本框
- 6. 列表视图双击事件
- 7. 如何在列表视图上显示文本时点击列表视图android
- 8. 列表项双击
- 9. 父视图上的双击手势和子视图上的单击手势
- 10. 列表视图 - 点击新的视图
- 11. 列表项点击问题 - 单击双击两个视图得到添加
- 12. 单击景观(双窗格)时的列表视图
- 13. 双击列表视图项目时获取选定项目
- 14. OnLongPress点击列表视图
- 15. 在列表视图上单击此项时更改图片
- 16. 在树状视图中双击事件
- 17. 列表视图只有更新后,我点击列表视图
- 18. 可点击的ImageView在列表视图
- 19. 在列表视图中点击按钮
- 20. 在项目点击列表视图
- 21. 如何显示双行列表视图?
- 22. 双列表视图绑定帮助
- 23. 在列表视图中两个可单击的图像视图
- 24. 单击列表视图中的按钮而不单击列表视图(WINRT/Metro)
- 25. 切换图像上双击
- 26. 列表视图项不在API 19上单击,但单击上API的
- 27. 列表查看双击
- 28. 选择列表双击选中列表
- 29. 在列表视图上绘制会禁用在列表视图项上重绘
- 30. 实现在同一视图上拖动和双击android
ListView.text会给你双击文本 – Anand
从我在哪里可以得到的句柄列表view.Could请你告诉我一个例子? – nerd