如何在网格之间启用拖动对象(不使用列表视图或网格视图)



我写了一个Windows应用商店类型的应用程序,您可以在两个网格(onField和Sideline)之间来回拖动Player对象。效果很好,但您只能移动(1)点击播放器(2)点击目标位置。然后我决定也让用户拖动播放器。 我尝试向玩家添加拇指...考虑并拒绝了使用画布的可能性。

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

TLDR:GridView 和 ListView 解决方案似乎不足以满足我的网格到网格拖放需求。

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

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

您可能有一些运气将 Silverlight 拖放库移植到 WinRT,但这不是我尝试过的东西。

最新更新