アプリで HubTile のグリッドを使用していますが、Windows Phone のホームページと同じようにタイルを再配置 (つまり、タップ アンド ホールドでアイテムを再配置) できるようにしたいと考えています。A Gesture-Driven Windows Phone Todo Listに少し似たものに出くわしましたが、すぐに使用できるとは思いません。それをうまく行うオープンソースライブラリまたは商用製品はありますか。締め切りが近づいており、できる限り活用する必要があるため、自分でロールバックしたくありません
1 に答える
最善の方法は、WrapPanel を使用することです。ハブ タイルを 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/
それが完了したら、タッチ操作を使用してハブ タイルを移動できます。
まず、すべてのハブ タイルを List<> または ObservableCollection<> にグループ化します。(ObservableCollection を使用することをお勧めします)
タッチ操作を使用してハブ タイルを移動します。ハブ タイルの位置 (タッチ操作が行われたとき) に基づいて、ObservableCollection 内のハブ タイルの順序を並べ替えることができます。リスト ボックスを更新します。
つまり、HubTile[3] がリストボックスの一番上にドラッグされて移動された場合、List<> で、HubTile[3] のインデックスを HubTile[0] に変更し、残りのインデックスを更新します。 HubTiles の。ListBox を更新すると、HubTiles が再配置されます。
アニメーション用の StoryBoard を作成できます。