在Serializer.Load()之后,MS Chart Zoom不起作用

时间:2014-03-13 00:27:21

标签: c# winforms mschart

我在WinForm上使用MS Chart生成实时图表。此图表具有以下功能:用户可以在xml文件中保存和加载图表数据。若要保存并加载此数据,我使用的是Chart.Serializer.Save()和Chart.Serializer.Load()方法。这些方法似乎正在进行正确的保存和加载。

要缩放图表,我使用以下代码,如果我正在处理直接来自服务器的实时数据,该代码可以正常工作:

_chart.ChartAreas.SuspendUpdates();
_chartArea.AxisX.ScaleView.Zoom(_chartArea.AxisX.ScaleView.ViewMinimum + _zoomValue, _chartArea.AxisX.ScaleView.ViewMaximum - _zoomValue);
_chart.ChartAreas.ResumeUpdates();

但是如果加载保存的图表数据,上面的代码不起作用。我对实时数据和已保存数据进行了比较,并且这些数据没有任何不同应该破坏此功能的数据。

有什么想法?

1 个答案:

答案 0 :(得分:0)

确保在反序列化后恢复了事件处理程序。例如,为上面的代码设置断点。

<强>更新
尝试设置序列化程序的以下属性:

_chart.Serializer.Content = SerializationContents.Data;
_chart.Serializer.IsResetWhenLoading = false;