3

このような VariableSizedWrapGrid を作成したい

しかし、アイテムをドラッグ可能 (CanReorderItems プロパティ) にしたいのですが、この投稿によると、「いくつかの」インターフェイスがないため、これはサポートされていません。

これを行うために欠落しているインターフェイスの正しい方向に誰かが私を向けることができますか?

4

1 に答える 1

1

フローレス、

ドラッグ イベントを自分で実装する必要があります。

あなたがする必要があることを詳述した優れたブログ投稿は次のとおりです。

http://www.renauddumont.be/en/2012/windows-8-csharp-xaml-drag-drop

ただし、このブログでは、DragOver ロジックを適切に実行する方法については言及していません。基本的には、どの項目を超えているかを確認し、方向 (上下左右のドラッグ) に応じて、対応する視覚状態を呼び出してスムーズなアニメーションを取得する必要があります。

たとえば、ドラッグされたアイテムがその下のアイテムの上にある場合 (コレクション内のアイテムのインデックスに基づいて確認できます)、次のようにする必要があります。

VisualStateManager.GoToState((Control)containerOfItemBelow, "BottomReorderHint", true);

ところで、GroupedDataSource を使用している場合、ドラッグ & ドロップも壊れます。Gridviews と Listsviews をネストすることで、GroupedDataSource の概念全体を簡単に回避できることがわかりました。

HTH

于 2012-12-21T08:28:17.657 に答える