ListView UWP Drag Reorder不会触发Drop事件

时间:2016-02-17 19:28:24

标签: listview gridview drag-and-drop win-universal-app

我正在尝试在我的UWP项目中重新排序ListView。

     <ListView Grid.Row="1" Name="List" Margin="12, 0, 12, 0"
               ItemTemplate="{StaticResource ListDataTemplate}" 
               SelectionMode="None" IsItemClickEnabled="True" ItemClick="List_ItemClick" 
               AllowDrop="True" CanReorderItems="True" ReorderMode="Enabled"
               DropCompleted="List_DropCompleted" />

在代码背后:

    private void List_DropCompleted(UIElement sender,DropCompletedEventArgs args)
    {
        UseManualOrder = true;
    }

UI工作得很好。我可以通过鼠标单击拖动和重新排序并拖动或触摸并拖动手机。但是,我无法在后面的代码中触发任何拖放事件。我试过了:掉落; DropCompleted; DragItemsCompleted。没有人会开枪。我已经尝试了我能想到的一切。

我在List_ItemClick之后的代码中的其他事件工作正常。

任何人都知道我错过了什么?

1 个答案:

答案 0 :(得分:1)

  

我试过了:掉落; DropCompleted; DragItemsCompleted。没有人会开枪。

经过测试,Drop eventDragItemsCompleted event会受到攻击。当您使用这些活动时,您需要为AllowDrop="True"启用CanDragItems="True"ListView

同样使用其他控件测试DropCompleted event,此事件暂时不会被触发。

但是这个问题不会影响Drop和Drag实现,你可以参考官方Drag and drop sample,看看如何使它们在这个样本中工作。