namespace Lattice.Core.DragDrop.Abstractions; /// /// Определяет контракт для объектов, которые могут принимать сбрасываемые данные /// в операции перетаскивания. /// /// /// Объекты, реализующие этот интерфейс, могут обрабатывать данные, сброшенные /// пользователем, и предоставлять визуальную обратную связь во время перетаскивания. /// public interface IDropTarget { /// /// Определяет, может ли объект принять сбрасываемые данные. /// /// Информация о потенциальном сбросе. /// /// true, если объект может принять данные; в противном случае — false. /// /// /// Этот метод вызывается, когда перетаскиваемый объект находится над целью. /// Реализация должна проверить, совместимы ли данные с целью, и установить /// предлагаемые эффекты в . /// bool CanAcceptDrop(Models.DropInfo dropInfo); /// /// Вызывается, когда перетаскиваемый объект находится над целью. /// /// Информация о текущем положении перетаскивания. /// /// Этот метод вызывается постоянно, пока пользователь перемещает объект над целью. /// Реализация может обновить визуальную обратную связь или изменить предлагаемые эффекты. /// void DragOver(Models.DropInfo dropInfo); /// /// Вызывается, когда пользователь сбрасывает данные на цель. /// /// Информация о сбросе. /// /// Этот метод вызывается, когда пользователь отпускает кнопку мыши над целью. /// Реализация должна обработать принятие данных и выполнить соответствующее действие. /// void Drop(Models.DropInfo dropInfo); /// /// Вызывается, когда перетаскиваемый объект покидает область цели. /// /// /// Этот метод вызывается, когда пользователь перемещает объект за пределы цели. /// Реализация должна очистить любую визуальную обратную связь, установленную ранее. /// void DragLeave(); }