有没有关于如何在窗口 8 C# 列表(listview、listbox ...)中实现拖放的好的示例/教程?
我想要的是一种可编辑的“Iphone-list”体验,我可以轻松地重新排列列表中的项目。但我主要是找到 WinJS 的例子,我想有 ac# 的 win 8 例子
有没有关于如何在窗口 8 C# 列表(listview、listbox ...)中实现拖放的好的示例/教程?
我想要的是一种可编辑的“Iphone-list”体验,我可以轻松地重新排列列表中的项目。但我主要是找到 WinJS 的例子,我想有 ac# 的 win 8 例子
如果您需要拖放到 ListView 或 GridView,请在 DataTemplate 上为实际项目触发 Drop 事件,而不是整个列表。然后你就可以知道它落在了哪个项目上。
首先,您必须启用AllowDragDrop属性。
然后写3个事件:
private void myList_ItemDrag(object sender, ItemDragEventArgs e)
{
DoDragDrop(e.Item, DragDropEffects.Link);
}
private void myList_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Link;
}
private void myList_DragDrop(object sender, DragEventArgs e)
{
// do whatever you need to reorder the list.
}
要获取已删除项目的索引:
Point cp = myList.PointToClient(new Point(e.X, e.Y));
ListViewItem dragToItem = myList.GetItemAt(cp.X, cp.Y);
int dropIndex = dragToItem.Index;