namespace Lattice.UI.Docking.Abstractions;
///
/// Определяет контракт для контрола разделителя между элементами док-системы.
/// Разделитель позволяет пользователю изменять размер смежных элементов.
///
public interface IDockSplitterControl : IDockControl
{
///
/// Получает или задает ориентацию разделителя.
///
///
/// Ориентация разделителя (горизонтальная или вертикальная).
///
Core.Docking.Models.SplitDirection Orientation { get; set; }
///
/// Получает или задает признак того, что разделитель активен (перетаскивается).
///
///
/// true, если разделитель активен; в противном случае false.
///
bool IsDragging { get; set; }
///
/// Происходит при начале перетаскивания разделителя.
///
event EventHandler DragStarted;
///
/// Происходит при перетаскивании разделителя.
///
event EventHandler DragDelta;
///
/// Происходит при завершении перетаскивания разделителя.
///
event EventHandler DragCompleted;
}
///
/// Предоставляет данные для события перетаскивания разделителя.
///
public class SplitterDraggedEventArgs : EventArgs
{
///
/// Получает изменение позиции по горизонтали.
///
///
/// Изменение по горизонтали в пикселях.
///
public double HorizontalChange { get; }
///
/// Получает изменение позиции по вертикали.
///
///
/// Изменение по вертикали в пикселях.
///
public double VerticalChange { get; }
///
/// Инициализирует новый экземпляр класса .
///
/// Изменение по горизонтали.
/// Изменение по вертикали.
public SplitterDraggedEventArgs(double horizontalChange, double verticalChange)
{
HorizontalChange = horizontalChange;
VerticalChange = verticalChange;
}
}