/// <summary> /// прекратить прорисовывать данный чарт на окне /// </summary> public void StopPaint() { ChartCandle.StopPaint(); if (_grid != null) { _grid.Children.Clear(); _grid = null; } }
private void PaintActivTab(int tabNum) { if (_lastTabNum == tabNum) { return; } _lastTabNum = tabNum; if (_chart != null) { _chart.StopPaint(); _chart.ClearDataPointsAndSizeValue(); _chart.Delete(); } if (tabNum < _panel.TabsSimple.Count) { _chart = new ChartCandlePainter(_panel.NameStrategyUniq, _panel.StartProgram); _chart.ProcessCandles(_panel.TabsSimple[tabNum].CandlesFinishedOnly); _chart.StartPaintPrimeChart(ChartHostPanel, RectChart); _chart.ProcessPositions(_panel.TabsSimple[tabNum].PositionsAll); for (int i = 0; _panel.TabsSimple[tabNum].Indicators != null && i < _panel.TabsSimple[tabNum].Indicators.Count; i++) { ChartArea area = _chart.CreateArea("Area" + _panel.TabsSimple[tabNum].Indicators[i].Name, 15); _panel.TabsSimple[tabNum].Indicators[i].NameSeries = _chart.CreateSeries(area, _panel.TabsSimple[tabNum].Indicators[i].TypeIndicator, _panel.TabsSimple[tabNum].Indicators[i].NameSeries); _chart.ProcessIndicator(_panel.TabsSimple[tabNum].Indicators[i]); } } else { tabNum = tabNum - _panel.TabsSimple.Count; _chart = new ChartCandlePainter(_panel.NameStrategyUniq, _panel.StartProgram); _chart.ProcessCandles(_panel.TabsIndex[tabNum].Candles); _chart.StartPaintPrimeChart(ChartHostPanel, RectChart); for (int i = 0; _panel.TabsIndex[tabNum].Indicators != null && i < _panel.TabsIndex[tabNum].Indicators.Count; i++) { ChartArea area = _chart.CreateArea("Area" + _panel.TabsIndex[tabNum].Indicators[i].Name, 15); _panel.TabsIndex[tabNum].Indicators[i].NameSeries = _chart.CreateSeries(area, _panel.TabsIndex[tabNum].Indicators[i].TypeIndicator, _panel.TabsIndex[tabNum].Indicators[i].Name + i); _chart.ProcessIndicator(_panel.TabsIndex[tabNum].Indicators[i]); } } }