繁体   English   中英

如何改变ZedGraph的Y轴顺序?

[英]How to change ZedGraph Y axis order?

我有一个带有多个Y轴的ZedGraph控件,并且我想允许用户更改Y轴的显示顺序。

不幸的是没有Move的上法YAxisList的对象GraphPane ,就像它存在于CurveList

YAxisList上的索引器为只读。 我不能使用良好的旧交换片段来交换列表中的轴。

我该如何进行?

我实现了一个受CurveListMove方法启发的扩展方法。

陷阱是现有曲线的Y轴索引需要相应地更新。

public static int Move(this YAxisList list, GraphPane pane, int index, int relativePos)
{
    if (index < 0 || index >= list.Count)
        return -1;

    var axis = list[index];
    list.RemoveAt(index);

    var newIndex = index + relativePos;

    if (newIndex < 0)
        newIndex = 0;
    if (newIndex > list.Count)
        newIndex = list.Count;

    list.Insert(newIndex, axis);

    foreach (var curve in pane.CurveList)
        if (curve.YAxisIndex == newIndex)
            curve.YAxisIndex = index;
        else if (curve.YAxisIndex == index)
            curve.YAxisIndex = newIndex;

    return newIndex;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM