2014-03-13 37 views
0

我在WinForm上使用MS Chart來生成實時圖表。這個圖表有一個功能,用戶可以在XML文件中保存和加載圖表數據。要保存並加載這些數據,我使用了Chart.Serializer.Save()和Chart.Serializer.Load()方法。這些方法似乎在保存並正確加載。MS Chart Zoom在Serializer.Load()之後不起作用()

要放大我使用後,如果我對卡梅斯直接從服務器實時數據時工作正常代碼圖表:

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

但上面的代碼,如果我加載不起作用保存的圖表數據。我比較了實時和保存的數據,並且這些值沒有任何不同之處,因此應該會打破此功能。

有什麼想法?

回答

0

確保您在反序列化之後還原了事件處理程序。例如,爲上面的代碼設置一個斷點。

UPDATE
嘗試設置串行器的以下屬性:

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

縮放代碼確實得到執行。它位於工具欄按鈕的事件處理程序中,與加載圖表數據無關。我希望我能正確理解你的評論。 – silverspoon

+0

嘗試在序列化之前設置'_chart.Serializer.Content = SerializationContents.Data'並在反序列化之前設置'_chart.Serializer.IsResetWhenLoading = false'。 – Dmitry