2016-12-30 66 views
0

我将拖动一个listview项目来放置一个框来处理某些东西。 在这种情况下,我无法获得选定的listview项目。 所选索引/项目始终为-1/null。UWP ListView拖放

注意:使用SelectionChanged时,我可以得到选定的listview项目。 但无法获取放置事件。请指教。

XAML:

 
&ltListView x:Name="lvMaster" CanDragItems="True" SelectionChanged="lvMaster_SelectionChanged" > 

&ltGrid 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; 
} 
+0

你想从ListView中拖动项目到网格,并想知道它是什么?我理解正确吗?你为什么需要选择项目? – RTDev

+0

是的。正确。我需要一个选定的项目。 – Saravana

+0

因为我想传递所选项目的ID。 – Saravana

回答

1

您可以为您的ListView注册DragItemsStarting eventDragItemsCompleted event,然后在其处理方法,你可以让你拖的所有项目。

private void SourceListView_DragItemsCompleted(ListViewBase sender, DragItemsCompletedEventArgs args) 
{ 
    var cc = args.Items; 
} 

请参考官方Drag and Drop sample了解更多详情。

+0

@saravana你根据我的建议解决了你的问题吗? –