public PlotViewCustomZoom() : base() { Controller = new PlotController(); var zoomWheel = new DelegatePlotCommand <OxyMouseWheelEventArgs>((view, controller, args) => HandleZoomByWheel(view, args)); Controller.BindMouseWheel(OxyModifierKeys.None, zoomWheel); var zoomWheelCtrl = new DelegatePlotCommand <OxyMouseWheelEventArgs>((view, controller, args) => HandleZoomByWheelAndCtrl(view, args)); Controller.BindMouseWheel(OxyModifierKeys.Control, zoomWheelCtrl); var zoomWheelShift = new DelegatePlotCommand <OxyMouseWheelEventArgs>((view, controller, args) => HandleZoomByWheelAndShift(view, args)); Controller.BindMouseWheel(OxyModifierKeys.Shift, zoomWheelShift); var customPanAt = new DelegatePlotCommand <OxyMouseDownEventArgs>((view, controller, args) => controller.AddMouseManipulator(view, new CustomPanManipulator(view, EAxisDescription.XY), args)); Controller.BindMouseDown(OxyMouseButton.Right, OxyModifierKeys.None, customPanAt); var customPanAtCtrl = new DelegatePlotCommand <OxyMouseDownEventArgs>((view, controller, args) => controller.AddMouseManipulator(view, new CustomPanManipulator(view, EAxisDescription.Y), args)); Controller.BindMouseDown(OxyMouseButton.Right, OxyModifierKeys.Control, customPanAtCtrl); var customPanAtShift = new DelegatePlotCommand <OxyMouseDownEventArgs>((view, controller, args) => controller.AddMouseManipulator(view, new CustomPanManipulator(view, EAxisDescription.X), args)); Controller.BindMouseDown(OxyMouseButton.Right, OxyModifierKeys.Shift, customPanAtShift); MouseDoubleClick += new MouseButtonEventHandler(OnMouseDoubleClick); }
private void Window_Loaded(object sender, RoutedEventArgs e) { spark = (SparkWindow)this.Owner; if (graphSetting == null) { graphSetting = spark.settingCommon.graphSetting; } DirectoryInfo folder = new DirectoryInfo(Core.Work.EnvPath); FileInfo[] files = folder.GetFiles("*.sqlite"); string[] filesName = new string[files.Length]; for (int i = 0; i < files.Length; i++) { filesName[i] = Path.GetFileNameWithoutExtension(files[i].FullName); } lbDataBases.ItemsSource = filesName; timerEmul.Elapsed += TimerEmul_Elapsed; var controller = new PlotController(); controller.UnbindAll(); controller.BindMouseDown(OxyMouseButton.Left, PlotCommands.PanAt); controller.BindMouseDown(OxyMouseButton.Left, OxyModifierKeys.Control, PlotCommands.ZoomRectangle); controller.BindMouseDown(OxyMouseButton.Left, OxyModifierKeys.Alt, PlotCommands.PointsOnlyTrack); controller.BindMouseWheel(PlotCommands.ZoomWheel); controller.BindKeyDown(OxyKey.R, PlotCommands.Reset); plotter.Controller = controller; }
private void InitGraph() { Model = new PlotModel(); DateTimeAxis axisX = new DateTimeAxis() { Title = "Время", Position = AxisPosition.Bottom, StringFormat = "HH:mm:ss", }; axisX.MajorGridlineStyle = LineStyle.Solid; axisX.MajorGridlineThickness = 1; Model.Axes.Add(axisX); int pos = 0; foreach (DataParam param in DataParams) { LinearAxis axisY = new LinearAxis() { Title = param.Title + ", " + param.ParamUnit.Title, Key = param.Title, Position = AxisPosition.Left, PositionTier = pos++ }; if (pos == 1) { axisY.AxisChanged += AxeY_AxisChanged; axisY.MajorGridlineStyle = LineStyle.Solid; axisY.MajorGridlineThickness = 1; } Model.Axes.Add(axisY); LineSeries series = new LineSeries() { Title = param.Title, YAxisKey = param.Title }; Model.Series.Add(series); } var controller = new PlotController(); controller.UnbindAll(); controller.BindMouseDown(OxyMouseButton.Left, PlotCommands.PanAt); controller.BindMouseDown(OxyMouseButton.Left, OxyModifierKeys.Control, PlotCommands.ZoomRectangle); controller.BindMouseDown(OxyMouseButton.Left, OxyModifierKeys.Alt, PlotCommands.PointsOnlyTrack); controller.BindMouseWheel(PlotCommands.ZoomWheel); controller.BindKeyDown(OxyKey.R, PlotCommands.Reset); plotter.Controller = controller; plotter.Model = Model; }
private void Window_Loaded(object sender, RoutedEventArgs e) { GS_SPA = (GS_SPAvWindow)this.Owner; WorkInfo[] listWork = GS_SPA.Core.Archive.GetListWorks(); lvArchives.ItemsSource = listWork; controller.UnbindAll(); controller.BindMouseDown(OxyMouseButton.Right, PlotCommands.PanAt); controller.BindMouseWheel(PlotCommands.ZoomWheel); controller.BindKeyDown(OxyKey.R, PlotCommands.Reset); controller.BindMouseDown(OxyMouseButton.Left, new DelegatePlotCommand <OxyMouseDownEventArgs>( (view, controller, args) => controller.AddMouseManipulator(view, new WpbTrackerManipulator(view), args))); plotter.Controller = controller; }