0

我有一个 VariableSizeWrapGrid 和自定义拖放处理逻辑。我需要在开始拖动项目时删除(或折叠)项目。VariableSizeWrapGrid 的数据源是 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