我有以下 ListView
并将我的事件处理程序定义为
private void listAccounts_DragItemsStarting(object sender, DragItemsStartingEventArgs e) { e.Data.SetData("itemIndex", (e.Items[0] as AccountList).Text.ToString()); } private async void listAccounts_Drop(object sender, DragEventArgs e) { string itemIndexString = await e.Data.GetView().GetTextAsync("itemIndex"); }
我不知道还能做些什么.我想在同一个列表中实现列表项的移动.
我去了正式的Windows 10样本,寻找拖放样本并将其修剪下来(就像从目标移除到源的拖动一样).事实证明,您甚至不必处理任何事件以在一件ListView
作品中重新订购.
检查您的ObservableCollection
重新排序项目后,您会发现它是正确的.如果您想跟踪重新订购,您必须检查CollectionChanged
您的事件ObservableCollection
,因为没有事件ListView
可以执行此操作.
如果你想支持多个列表视图的拖放,我想再看一下样本.