如何在Grids之间启用拖动对象(不使用ListView或GridView)?

时间:2013-12-24 09:06:40

标签: c# listview gridview drag-and-drop windows-store-apps

我编写了一个Windows Store类型的应用程序,您可以在两个网格(onField和Sideline)之间来回拖动Player对象。工作得很好,但你只能通过(1)点击球员(2)轻击目标位置。然后我决定我也想让用户拖动玩家。我尝试向玩家添加一个拇指......考虑并拒绝使用Canvas的可能性。

所有迹象都指向ListView或Gridview解决方案,因此我尝试将onField和Sideline网格更改为GridViews,但无法看到任何方法来获得我想要的位置布局+大小。最后,我在大布局网格的每个单元格中放置了一个Gridview。这有效,但代价是在位置之间移动玩家的延迟以及在某些分类操作中滞后。此外,拖动操作仅在初始拖动方向向下(???)时有效。

TLDR:对于我的网格到网格拖放需求,GridView和ListView解决方案似乎不相上下。

1 个答案:

答案 0 :(得分:1)

在WinRT xaml框架中,只有GridView和ListView支持拖放操作。我不知道为什么,但事实就是如此。

这并不能阻止你创建自己的,但你真的必须从头开始这是一个痛苦的屁股,因为你不能使用AllowDrop属性等。

您可能有幸将Silverlight Drag and Drop library移植到WinRT,但这不是我尝试过的。