UWP ListView 拖放 [英] UWP ListView Drag and Drop
问题描述
我将从 ListView
中拖出一个项目来放置一个框来处理某些事情.
I am going to drag an item from a ListView
to drop a box to process something.
在这种情况下,我无法获得选定的 ListView
项目.选定的索引/项目总是返回 -1/null
.
In this case, I am not able to get selected ListView
item. Selected Index/Items always returns -1/null
.
注意:使用 SelectionChanged 时,我能够获得选定的列表视图项.但无法获得 drop 事件.请指教.
Note: I am able to get selected listview item when using SelectionChanged. But not able to get drop event. Please advise.
XAML 源:
<ListView x:Name="lvMaster" CanDragItems="True" SelectionChanged="lvMaster_SelectionChanged" />
<Grid AllowDrop="True" Drop="Drop_Event" DragOver="DragOver_Event">
</Grid>
C# 源代码:
private void Drop_Event(object sender, DragEventArgs e)
{
lvObj = new ListView();
ListView)sender;
}
private void DragOver_Event(object sender, DragEventArgs e)
{
AcceptedOperation = DataPackageOperation.Copy;
DragUIOverride.IsCaptionVisible = true;
DragUIOverride.IsContentVisible = true;
}
推荐答案
您可以注册 DragItemsStarting 事件 或 DragItemsCompleted 事件 用于您的列表视图,然后在其处理程序方法中,您可以获得您拖动的所有项目.
You can register DragItemsStarting event or DragItemsCompleted event for your listview, then in its handler method, you could get all items you dragged.
private void SourceListView_DragItemsCompleted(ListViewBase sender, DragItemsCompletedEventArgs args)
{
var cc = args.Items;
}
请参考官方拖放示例了解更多详情.
Please refer to the official Drag and Drop sample for more details.
请
这篇关于UWP ListView 拖放的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!