Я работаю с приложением WPF, в котором много перетаскивания. Все работает нормально, за исключением ListBoxItems. У меня есть ListBox с ListBoxItems, который можно перетащить на другую цель (StackPanel). Проблема в том, что когда я перетаскиваю курсор за пределы ListBox, я не вижу Adorner, который я установил с помощью ListBoxItem?
Я знаю, что это обычная проблема, но я просто не знаю, как ее исправить. Есть ли что-то, что мне нужно сделать, чтобы позволить мне перетащить за пределы элемента управления ListBox?
Ниже я добавил, как выглядит пользовательский интерфейс. Как видите, внизу слева есть ListBox. Когда я перетаскиваю элемент, появляется рекламный элемент и следует за курсором, пока он находится над ListBox, но если я попытаюсь переместить курсор от списка, Adorner, кажется, почти перейдет под другие элементы управления (zIndex?) .
Изменить - Решение Я изменил код для обработки AdornerLayer относительно окна, а не относительно AdornedElement
Итак, я изменил
layer = AdornerLayer.GetAdornerLayer(_originalElement);
to
layer = AdornerLayer.GetAdornerLayer(this);
Это решило проблему ScrollViwer, обрезавшего AdornerLayer.