ウィンドウ8のC#リスト(リストビュー、リストボックスなど)内にドラッグアンドドロップを実装する方法に関する良い例/チュートリアルはありますか?
私が欲しいのは、編集可能な「iPhoneリスト」体験です。リスト内のアイテムを簡単に並べ替えることができます。しかし、私は主にWinJSの例を見つけており、Win 8のac#の例が欲しいです。
ウィンドウ8のC#リスト(リストビュー、リストボックスなど)内にドラッグアンドドロップを実装する方法に関する良い例/チュートリアルはありますか?
私が欲しいのは、編集可能な「iPhoneリスト」体験です。リスト内のアイテムを簡単に並べ替えることができます。しかし、私は主にWinJSの例を見つけており、Win 8のac#の例が欲しいです。
まず、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 イベントを発生させます。次に、ドロップされたアイテムを知ることができます。