AxisDragModifierBase
Предоставляет базовый класс для операций перетаскивания по осям.
Наследует: ChartModifierBase
Конструкторы
protected AxisDragModifierBase()
axisDragModifierBase = AxisDragModifierBase()
Инициализирует новый экземпляр класса AxisDragModifierBase.
Свойства
public string AxisId { get; set; }
value = axisDragModifierBase.AxisId
axisDragModifierBase.AxisId = value
Определяет, к какой YAxis привязать YAxisDragModifier, сопоставляя по строке Id
public AxisDragModes DragMode { get; set; }
value = axisDragModifierBase.DragMode
axisDragModifierBase.DragMode = value
Получает или устанавливает DragMode YAxisDragModifier. Этот модификатор может использоваться для масштабирования VisibleRange или панорамирования VisibleRange, создавая эффект прокрутки или вертикальной панели.
public bool IsDragging { get; protected set; }
value = axisDragModifierBase.IsDragging
axisDragModifierBase.IsDragging = value
Получает значение, указывающее, перетаскивает ли пользователь ось в настоящее время
public double MinTouchArea { get; set; }
value = axisDragModifierBase.MinTouchArea
axisDragModifierBase.MinTouchArea = value
Получает или устанавливает минимальную область распознавания (высота мин для горизонтальной оси или ширина мин для вертикальной), где пользователь нажимает или касается триггеров увеличения поведения.
Методы
protected virtual DoubleRange CalculateRelativeRange(IRange fromRange, IAxis axis)
result = axisDragModifierBase.CalculateRelativeRange(fromRange, axis)
При переопределении в производном классе вычисляет выходной IRange для применения к связанному AxisBase с учетом входных параметров.
- fromRange
- Диапазон ввода, ожидается VisibleRange
- axis
- Ось, над которой ведется работа
Возвращает: Выходной IRange, который затем можно применить к свойству GrowBy, чтобы получить тот же эффект, что и при применении входного видимого диапазона.
protected abstract IRange CalculateScaledRange(Point currentPoint, Point lastPoint, bool isSecondHalf, IAxis axis)
result = axisDragModifierBase.CalculateScaledRange(currentPoint, lastPoint, isSecondHalf, axis)
При переопределении в производном классе вычисляет выходной IRange для применения к связанному AxisBase с учетом входных параметров.
- currentPoint
- Текущее положение мыши
- lastPoint
- Последнее положение мыши
- isSecondHalf
- Флаг, определяющий работу весов, e.g. какая половина оси (верхняя или нижняя, левая или правая) была перетянута
- axis
- Ось, над которой ведется работа
Возвращает: Выходной диапазон
protected abstract IAxis GetCurrentAxis()
result = axisDragModifierBase.GetCurrentAxis()
Получает экземпляр IAxis, с которым связан текущий модификатор, на родительском объекте UltrachartSurface.
protected virtual bool GetIsSecondHalf(Point point, Rect axisBounds, bool isHorizontalAxis)
result = axisDragModifierBase.GetIsSecondHalf(point, axisBounds, isHorizontalAxis)
Определяет, находится ли указанная точка мыши во второй (самой правой или самой верхней) половине границ оси.
- point
- Точка мыши
- axisBounds
- Границы оси
- isHorizontalAxis
- Значение, указывающее, является ли текущая ось горизонтальной или нет.
Возвращает: Истинно, если точка находится внутри второй (крайней правой или самой верхней) половины границ оси, в противном случае — ложно.
protected virtual Cursor GetUsedCursor(IAxis axis)
result = axisDragModifierBase.GetUsedCursor(axis)
В зависимости от ориентации оси возвращает курсор, который будет отображаться при наведении курсора мыши на ось.
- axis
- Экземпляр оси
public override void OnAttached()
axisDragModifierBase.OnAttached()
Вызывается, когда модификатор диаграммы прикреплен к поверхности диаграммы.
public override void OnDetached()
axisDragModifierBase.OnDetached()
Вызывается непосредственно перед отсоединением модификатора диаграммы от поверхности диаграммы.
protected override void OnIsEnabledChanged()
axisDragModifierBase.OnIsEnabledChanged()
Вызывается, когда свойство IsEnabled изменяется в этом экземпляре ChartModifierBase.
public override void OnModifierMouseDown(ModifierMouseArgs e)
axisDragModifierBase.OnModifierMouseDown(e)
Вызывается при нажатии кнопки мыши на родительском элементе UltrachartSurface.
- e
- Аргументы, подробно описывающие работу кнопки мыши.
public override void OnModifierMouseMove(ModifierMouseArgs e)
axisDragModifierBase.OnModifierMouseMove(e)
Вызывается, когда мышь перемещается по родительскому элементу UltrachartSurface.
- e
- Аргументы, подробно описывающие операцию перемещения мыши
public override void OnModifierMouseUp(ModifierMouseArgs e)
axisDragModifierBase.OnModifierMouseUp(e)
Вызывается, когда кнопка мыши отпускается на родительском объекте UltrachartSurface.
- e
- Аргументы, подробно описывающие работу кнопки мыши.
protected abstract void PerformPan(Point currentPoint, Point lastPoint)
axisDragModifierBase.PerformPan(currentPoint, lastPoint)
Выполняет кастрюлю на связанном AxisBase. Сковорода считается перетяжкой от до
- currentPoint
- Текущая точка мыши
- lastPoint
- Последняя точка мыши
protected virtual void PerformScale(Point currentPoint, Point lastPoint, bool isSecondHalf)
axisDragModifierBase.PerformScale(currentPoint, lastPoint, isSecondHalf)
Выполняет масштабирование связанного AxisBase. Масштаб считается перетаскиванием от до
- currentPoint
- Текущая точка мыши
- lastPoint
- Последняя точка мыши
- isSecondHalf
- Логический флаг, определяющий, какая сторона оси масштабируется.
private void SetAxisCursor(Cursor cursor)
axisDragModifierBase.SetAxisCursor(cursor)
Устанавливает переданный курсор на текущую ось или курсор по умолчанию, возвращаемый IAxis)
Поля
private static readonly DependencyProperty AxisIdProperty
value = AxisDragModifierBase.AxisIdProperty
Определяет YAxisId DependencyProperty
public static readonly DependencyProperty DragModeProperty
value = AxisDragModifierBase.DragModeProperty
Определяет DragMode DependencyProperty
public static readonly DependencyProperty MinTouchAreaProperty
value = AxisDragModifierBase.MinTouchAreaProperty
Определяет MinTouchArea DependencyProperty