Charts winfrom图表未清除AxisX带状线&;在CursorX上启用SelectionEnabled时不重新绘制AxisX2自定义标签

Charts winfrom图表未清除AxisX带状线&;在CursorX上启用SelectionEnabled时不重新绘制AxisX2自定义标签,charts,Charts,我想用自定义的带状线和自定义标签构建和绘制图表 private void InitXLChartAxis(Axis axis, XlAxis xlAxis) { if (xlAxis == null) { return; } axis.ToolTip = xlAxis.ToolTip; axis.Interval = xlAxis.Interval; axis.IntervalOffset = xlAxis.IntervalOffs

我想用自定义的
带状线和
自定义标签构建和绘制图表

private void InitXLChartAxis(Axis axis, XlAxis xlAxis)
{
    if (xlAxis == null)
    {
        return;
    }
    axis.ToolTip = xlAxis.ToolTip;
    axis.Interval = xlAxis.Interval;
    axis.IntervalOffset = xlAxis.IntervalOffset;
    axis.Maximum = xlAxis.Maximum;
    axis.Minimum = xlAxis.Minimum;
    axis.IsLabelAutoFit = true;
    axis.Enabled = AxisEnabled.True;
    axis.TitleAlignment = xlAxis.TitleAlignment;
    axis.TextOrientation = xlAxis.TextOrientation;
    axis.Name = xlAxis.Name;
    axis.IntervalAutoMode = xlAxis.IntervalAutoMode;
    axis.IntervalAutoMode = IntervalAutoMode.VariableCount;
    axis.Title = xlAxis.Title;
    if (xlAxis.XLStripLines != null)
    {
        axis.StripLines.Clear();
        foreach (var item in xlAxis.XLStripLines)
        {
            axis.StripLines.Add(MappingStripLine(item));
        }
    }
    if (xlAxis.CustomLabels != null)
    {
        axis.CustomLabels.Clear();
        foreach (var item in xlAxis.CustomLabels)
        {
            axis.CustomLabels.Add(MappingCustomLabel(item));
        }
    }
}
private CustomLabel MappingCustomLabel(XLCustomLabel item)
{
    var label = new CustomLabel
    {
        FromPosition = item.FromPosition,
        ToPosition = item.ToPosition,
        Text = item.Text,
    };
    return label;
}
private StripLine MappingStripLine(XLStripLine item)
{
    var line = new StripLine
    {
        Interval = item.Interval,
        IntervalOffset = item.IntervalOffset,
        StripWidth = item.StripWidth,
        BackColor = item.BackColor,
        BorderDashStyle = ChartDashStyle.Solid,
        TextAlignment = StringAlignment.Near,
        TextOrientation = TextOrientation.Horizontal
    };
    return line;
}
我还在
CursorX

chartArea.AxisX.ScaleView.Zoomable = true;
chartArea.CursorX.AutoScroll = true;
chartArea.CursorX.IsUserEnabled = true;
chartArea.CursorX.IsUserSelectionEnabled = true;
chartArea.CursorX.SelectionColor = System.Drawing.SystemColors.Highlight;
并在主机上运行,看起来很有效。

我尝试在
AxisX
中进行选择。

问题:

  • AxisX2客户标签不调整大小,它应该与AxisX调整大小相同(还包括自定义标签),我如何实现它
  • AxisX条带线已重新绘制,可以,但不会清除旧的条带线。如何清除它们