我在我的应用程序中使用 HubTile 网格,我希望能够像 Windows Phone 主页那样重新排列(也就是通过点击并按住重新排序项目)磁贴。我遇到了一些类似的东西 - A Gesture-Driven Windows Phone Todo List,但我不认为它很容易使用。是否有某种开源库或商业产品做得很好。我真的不想自己动手,因为截止日期快到了,我需要尽可能多地利用
1 回答
最好的方法是使用 WrapPanel。如果您将 Hub Tiles 添加到 WrapPanel,它将为您提供与 Windows Phone 主页相同的效果。以下链接应该可以帮助您了解如何使用 WrapPanel。
http://www.windowsphonegeek.com/articles/WP7-WrapPanel-in-depth
http://www.kotancode.com/2010/12/29/wp7-presenting-listbox-items-inside-a-wrappanel/
完成后,您可以使用触摸操作来移动 Hub Tiles。
首先,将所有 Hub Tiles 分组到 List<> 或 ObservableCollection<> 中。(我建议使用 ObservableCollection)
使用触摸操作来移动 Hub Tile。根据 Hub Tile 的位置(当触摸操作完成时),您可以重新排列 ObservableCollection 中 Hub Tiles 的顺序。更新列表框。
我的意思是,如果 HubTile[3] 被拖动并移动到 Listbox 的顶部,在 List<> 中,将 HubTile[3] 的索引更改为 HubTile[0],并更新其余的索引HubTiles 的。刷新 ListBox 时,您应该重新排列 HubTiles。
您可以为动画创建故事板。