private void ChangeDiagramForNewStyle(DiagramMode newDiagramMode) { DiagramMode = newDiagramMode; AllSeriesUnited = new DiagramDataSeriesUnited(AllDiagramData); AllSeriesUnited.StackAllData(newDiagramMode, GroupInterval); ExtractDataBetweenLimits(); DiagramDataExtremums = CurrentSeriesUnited.FindDataExtremums(DiagramMode); Draw(); }
private void ChangeDiagramForNewGrouping(Every groupPeriod) { GroupInterval = groupPeriod; AllSeriesUnited = new DiagramDataSeriesUnited(AllDiagramData); AllSeriesUnited.GroupAllData(groupPeriod, DiagramMode); if (groupPeriod == Every.Year) { DefineYearsLimits(); } else { DiagramDataExtremums.MaxDate = new DateTime(DiagramDataExtremums.MaxDate.Year, 12, 31); } ExtractDataBetweenLimits(); DiagramDataExtremums = CurrentSeriesUnited.FindDataExtremums(DiagramMode); Draw(); }
void BarDiagramControlOnLoaded(object sender, RoutedEventArgs e) { // набор серий надо преобразовать в структуру, // где одной дате соответствуют значения для разных серий AllSeriesUnited = new DiagramDataSeriesUnited(AllDiagramData); if (AllSeriesUnited.SeriesCount == 0) { return; } GroupInterval = AllDiagramData.TimeInterval; DiagramMode = AllDiagramData.Mode; CurrentSeriesUnited = new DiagramDataSeriesUnited(AllSeriesUnited); DiagramDataExtremums = CurrentSeriesUnited.FindDataExtremums(DiagramMode); _diagramDrawer = new DiagramDrawer(); _diagramDataPanAndZoomer = new DiagramDataPanAndZoomer(); Draw(); var window = Window.GetWindow(this); if (window != null) { window.KeyDown += OnKeyDown; } // var diagramLegendCreator = new DiagramLegendCreator(AllDiagramData); // LegendImage.Source = diagramLegendCreator.Create(); DiagramLegend = new ObservableCollection <DiagramLegendItem>(); foreach (var series in AllDiagramData.Series) { DiagramLegend.Add(new DiagramLegendItem() { SeriesName = series.Name, FontColor = series.PositiveBrushColor }); } Legend.ItemsSource = DiagramLegend; StatusBar.Text = "Ctrl+LeftButton - сдвиг изображения; LeftButton - зум прямоугольника"; }