有没有什么好的例子/教程如何实现在窗口内拖放8 C#列表(列表视图,列表框...)在那里?拖放列表,Windows 8应用程序?
我想要的是一个可编辑的“Iphone-list”体验,我可以轻松地重新排列列表中的项目。但我主要找到WinJS的例子,我想有一个C#的例子赢得8
有没有什么好的例子/教程如何实现在窗口内拖放8 C#列表(列表视图,列表框...)在那里?拖放列表,Windows 8应用程序?
我想要的是一个可编辑的“Iphone-list”体验,我可以轻松地重新排列列表中的项目。但我主要找到WinJS的例子,我想有一个C#的例子赢得8
首先,您必须启用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;
如果您需要拖放到一个ListView或GridView中,有在DataTemplate中的Drop事件火实际的项目,而不是整个列表。然后你可以知道它放在哪个项目上。
首先,我没有找到一个AllowDragDrop属性,在我的情况下,ListBox。你有任何特别的组件吗?其次,为了获得平滑的体验(拖拽和滚动,显示对象将落在哪里等等),将会有很多工作要做。没有任何win8组件,框架或类似的东西? – Cinaird
这是ListView控件的例子。 –
好的,我可以看到listview和listbox都没有ItemDrag,dragDrop或AllowDragDrop。我错过了什么吗? – Cinaird