public DebugParametersTrendViewModel() { PlotVm = new PlotModel { IsLegendVisible = false }; PlotVm.Axes.Add(new DateTimeAxis()); PlotVm.Axes.Add(new LinearAxis()); //_plotVm.Series.Add(new FunctionSeries(Math.Cos, 0, 10, 0.1, "cos(x)")); PlotCr = new PlotController(); PlotCr.UnbindAll(); PlotCr.BindMouseDown(OxyMouseButton.Left, PlotCommands.Track); PlotCr.Bind(new OxyMouseDownGesture(OxyMouseButton.Right), PlotCommands.PanAt); PlotCr.Bind(new OxyMouseDownGesture(OxyMouseButton.Left), PlotCommands.ZoomRectangle); PlotCr.Bind(new OxyMouseEnterGesture(), PlotCommands.HoverPointsOnlyTrack); PlotCr.BindMouseWheel(PlotCommands.ZoomWheel); PlotCr.BindMouseDown(OxyMouseButton.Left, OxyModifierKeys.None, 2, PlotCommands.ResetAt); _points1 = new LineSeries { Color = OxyColor.FromRgb(255, 0, 0) }; _points2 = new LineSeries { Color = OxyColor.FromRgb(0, 128, 0) }; _points3 = new LineSeries { Color = OxyColor.FromRgb(0, 0, 128) }; _points4 = new LineSeries { Color = OxyColor.FromRgb(128, 0, 128) }; PlotVm.Series.Add(_points1); PlotVm.Series.Add(_points2); PlotVm.Series.Add(_points3); PlotVm.Series.Add(_points4); TrendControlVm1 = new TrendControlViewModel("Параметр 1", this); TrendControlVm2 = new TrendControlViewModel("Параметр 2", this); TrendControlVm3 = new TrendControlViewModel("Параметр 3", this); TrendControlVm4 = new TrendControlViewModel("Параметр 4", this); CommandPanLeftFast = new RelayCommand(() => { PlotVm.PanAllAxes(PlotVm.PlotArea.Width / 4.0, 0); PlotVm.InvalidatePlot(false); }); CommandPanLeft = new RelayCommand(() => { PlotVm.PanAllAxes(PlotVm.PlotArea.Width / 20.0, 0); PlotVm.InvalidatePlot(false); }); CommandPanRight = new RelayCommand(() => { PlotVm.PanAllAxes(PlotVm.PlotArea.Width / -20.0, 0); PlotVm.InvalidatePlot(false); }); CommandPanRightFast = new RelayCommand(() => { PlotVm.PanAllAxes(PlotVm.PlotArea.Width / -4.0, 0); PlotVm.InvalidatePlot(false); }); CommandZoomOut = new RelayCommand(() => { PlotVm.ZoomAllAxes(0.8); PlotVm.InvalidatePlot(false); }); CommandZoomIn = new RelayCommand(() => { PlotVm.ZoomAllAxes(1.25); PlotVm.InvalidatePlot(false); }); CommandZoomAll = new RelayCommand(() => { PlotVm.ResetAllAxes(); PlotVm.InvalidatePlot(false); }); CommandPanUpFast = new RelayCommand(() => { PlotVm.PanAllAxes(0, PlotVm.PlotArea.Height / 4.0); PlotVm.InvalidatePlot(false); }); CommandPanUp = new RelayCommand(() => { PlotVm.PanAllAxes(0, PlotVm.PlotArea.Height / 20.0); PlotVm.InvalidatePlot(false); }); CommandPanDown = new RelayCommand(() => { PlotVm.PanAllAxes(0, PlotVm.PlotArea.Height / -20.0); PlotVm.InvalidatePlot(false); }); CommandPanDownFast = new RelayCommand(() => { PlotVm.PanAllAxes(0, PlotVm.PlotArea.Height / -4.0); PlotVm.InvalidatePlot(false); }); }