Предотвратить изменение Y2Axis, когда пользователь увеличивает ZedGraph
Я использую один ZedGraphControl для отображения 2 кривых, одна на основной оси YA, а другая на оси Y2. Я хочу сделать так, чтобы, когда пользователь увеличивает данные вручную, изменяется только масштаб на YAxis.
Я не мог найти какой-либо способ блокировки Y2Axis, фактически предотвратить изменения в первую очередь. Затем я подумал, что могу просто отменить любые изменения оси в AxisChangeEvent, но изменение вызова снова вызывает это событие, что приводит к бесконечному циклу.
1 ответ
В типичной манере этого сайта я придумал ответ, пытаясь правильно задать вопрос.
Я просто установил логический флаг в начале моего AxisChangeEvent, чтобы предотвратить рекурсивный вызов. Затем сбросьте масштаб оси Y2:
private bool resizingAxis = false;
void GraphPane_AxisChangeEvent(ZedGraph.GraphPane pane)
{
if (!resizingAxis)
{
resizingAxis = true;
this.zedGraphControl1.GraphPane.Y2Axis.ResetAutoScale(pane, this.CreateGraphics());
resizingAxis = false;
}
}
Это похоже на взлом, и я хотел бы услышать любые другие возможные решения, хотя.