gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 15:24:05 28 4
gpt4 key购买 nike

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

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

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

  • 我试过装饰器,但装饰器在另一层,没有在列表框中显示(也许我做错了什么)
  • 我现在正在尝试的下一件事是向列表框添加一些临时的虚拟元素,但要让它工作似乎相当复杂并且需要大量代码(也许我把这件事搞得太复杂了)
  • 是否有人对可以使用的策略或组件或元素有更好的想法,以使其像在动画 gif 中一样工作?

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

最佳答案

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

  • 我为 XAML 列表框中包含的每张卡片添加了隐藏的底部和顶部阴影(属性:“折叠”)。

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

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

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

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

final application animated gif

关于c# - WPF 在列表框中拖放,带有拖放位置的预览阴影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33456471/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com