gpt4 book ai didi

wpf - 无法在 WPF 中将 ListBoxItem Adorner 拖到 ListBox 之外 -ScrollViewerProblem

转载 作者:行者123 更新时间:2023-12-04 19:13:03 26 4
gpt4 key购买 nike

我正在使用一个使用大量拖放操作的 WPF 应用程序。一切正常,除了 ListBoxItems。我有一个带有 ListBoxItems 的 ListBox,可以将其拖到另一个目标(StackPanel)。问题是,当我将光标拖到 ListBox 之外时,我看不到我使用 ListBoxItem 设置的 Adorner?

我知道这是一个常见问题,但我不确定如何解决它。有什么我需要做的事情才能让我拖动到 ListBox 控件之外吗?

下面我附上了到目前为止 UI 的样子。如您所见,左下角有一个 ListBox。当我拖动一个项目时,装饰器出现,并在光标位于列表框上时跟随光标移动,但是如果我尝试将光标移离列表框,装饰器似乎几乎进入其他控件(zIndex?) .
enter image description here

编辑 - 解决方案
我已经更改了代码来处理相对于窗口的 AdornerLayer 作为相对于 AdornedElement

所以我改变了

    layer = AdornerLayer.GetAdornerLayer(_originalElement);


    layer = AdornerLayer.GetAdornerLayer(this);

这样就解决了ScrollViwer裁剪AdornerLayer的问题

最佳答案

ListBox(或者,更具体地说,列表框中的 ScrollViewer)剪辑附加到它的 child 的任何装饰器。这样做是为了确保不显示滚动出 View 的项目的装饰器。为了解决这个问题,您需要明确地将东西放在窗口的装饰器中,而不是列表框或列表框项的装饰器中

关于wpf - 无法在 WPF 中将 ListBoxItem Adorner 拖到 ListBox 之外 -ScrollViewerProblem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5022613/

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