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