0

VariableSizeWrapGrid とカスタムのドラッグ/ドロップ処理ロジックがあります。アイテムがドラッグされ始めたときにアイテムを削除 (または折りたたむ) する必要があります。VariableSizeWrapGrid の dataSource は ObservableCollection です。

アイテムを折りたたむ ( Visibility=Collapsed) ことはできません。アイテムは非表示になりますが、とにかく元のスペースを占有します。VariableSizeWrapGrid を無効にしても、これらのスペースは削除されません。

ドラッグしたアイテムを元のソースから削除しているときに、不明な理由でドラッグ プロセスが中止されるため、アイテムの削除が機能しません。他のアイテムを削除しても、ドラッグは中止されません。空のハンドラー (基本バージョンを呼び出さない) でオーバーライドvoid OnItemsChanged(object e)しましたが、これも役に立ちません。

ショートコードのサンプル:

void VariableGridView_DragItemsStarting(object sender, DragItemsStartingEventArgs e)
{
    var tile = e.Items[0] as Tile;
    tile.removeFromOwnerContainer(); // this line interrupts dragging
}
4

0 に答える 0