28 lines
1.3 KiB
C#
28 lines
1.3 KiB
C#
namespace Lattice.Core.DragDrop.Abstractions;
|
||
|
||
/// <summary>
|
||
/// Определяет контракт для объектов, которые могут быть источником данных
|
||
/// в операции перетаскивания с поддержкой асинхронных операций.
|
||
/// </summary>
|
||
public interface IAsyncDragSource : IDragSource
|
||
{
|
||
/// <summary>
|
||
/// Определяет, может ли объект начать операцию перетаскивания (асинхронно).
|
||
/// </summary>
|
||
Task<(bool CanStart, Models.DragInfo? DragInfo)> CanStartDragAsync();
|
||
|
||
/// <summary>
|
||
/// Начинает операцию перетаскивания (асинхронно).
|
||
/// </summary>
|
||
Task<bool> StartDragAsync(Models.DragInfo dragInfo);
|
||
|
||
/// <summary>
|
||
/// Вызывается при завершении операции перетаскивания (асинхронно).
|
||
/// </summary>
|
||
Task DragCompletedAsync(Models.DragInfo dragInfo, Enums.DragDropEffects effects);
|
||
|
||
/// <summary>
|
||
/// Вызывается при отмене операции перетаскивания (асинхронно).
|
||
/// </summary>
|
||
Task DragCancelledAsync(Models.DragInfo dragInfo);
|
||
} |