WPF 在列表框中拖放,带有拖放位置的预览阴影

WPF drag and drop in listbox with preview shadow of where it will be dropped

我编写了一个看板用户控件,我可以在其中将一些卡片从一列拖放到另一列(列表框/列表框项),并且我使用组件“https://github.com/punker76/gong-wpf-dragdrop”来执行此操作。现在我想添加一个新行为:在卡片将被放置的位置显示预览阴影,就像附件中的动画 gif 一样:

动画 gif 显示了 DevExpress 组件执行此操作。我不想使用 DevExpress,而是想使用另一个开源组件,扩展 gong-wpf-dragdrop 或者自己做。

是否有人已经这样做过或知道某个组件正在这样做?如果没有,有人有这样做的策略吗?

我很惊讶在 Google 上没有找到更多关于这个主题的信息。每个人都用 DevExpress 或 Telerik 做这样的事情吗?或者直到现在还没有人发布开源解决方案?

我最终实现的解决方案如下:

  • 我在XAML(属性:"Collapsed")的列表框中为每张卡片添加了隐藏的底部和顶部阴影。

  • 我添加了一个依赖项属性来管理底部或顶部阴影的可见性

  • 我创建了一个具有以下功能的自定义 drophandler:

    • 如果拖动的元素悬停在下一个元素上,则不显示阴影
    • 悬停另一个元素时显示阴影(悬停上半部分时显示顶部,悬停下半部分时显示底部)

如果有人对最终结果感兴趣 solution/code 请将您的兴趣注册为评论,我会提供。如果有人对如何解决这个问题有更好的想法,我也很感兴趣。

final application animated gif