OxyPlot-MouseDown事件不会在线路系列上触发

时间:2018-08-24 13:47:49

标签: c# .net wpf oxyplot

在我的OxyPlot上,我有一个DelegatePlotCommand绑定到PlotController.MouseDown事件:

        var commandLeft = new DelegatePlotCommand<OxyMouseDownEventArgs>((v, c, a) =>
        {
            a.Handled = true;
            if (v.ActualModel.Series.Count > 0)
            {
                var series = v.ActualModel.Series[0] as LineSeries;
                var point = series.InverseTransform(a.Position);
                if (PltModel.Annotations.Count > 0 && PltModel.Annotations[0] is LineAnnotation)
                {
                    var lineAnnotation = PltModel.Annotations[0] as LineAnnotation;
                    lineAnnotation.Y = point.Y;
                    lineAnnotation.Text = point.Y.ToString("G3");
                    PltModel.InvalidatePlot(true);
                    guide1Position = point.Y;
                    GuideDifference = (guide1Position - guide2Position).ToString("G3");
                }
            }
        });
        PlotController.BindMouseDown(OxyMouseButton.Left, commandLeft);

当我单击行系列时,事件不会触发。 在生产线系列之外,它工作正常。 有什么建议吗?

2 个答案:

答案 0 :(得分:0)

您是否尝试过将委托绑定到LineSeries本身?我不确定PlotController的工作方式,但是LineSeries有自己的MouseDown事件。

答案 1 :(得分:0)

我下载了 OxyPlot.Core版本=“ 2.0.0-unstable1035” targetFramework =“ net452” 和OxyPlot.Wpf version =“ 2.0.0-unstable1035” targetFramework =“ net452”

  • 它解决了这个问题。我将浏览更改日志,找到它的修复位置,并将其发布在此处。