c# – OxyPlot获得点击的点

c# – OxyPlot获得点击的点,第1张

概述我试图通过以下方式在散点图上绘制一些圆圈: <Grid> <oxy:PlotView x:Name="PlotView" Title="{Binding Title}" > <oxy:PlotView.Axes> <oxy:LinearAxis Position="Bottom" Minimum="-30" Maximum="30" IsAxisVi @H_403_0@ @H_403_0@ 我试图通过以下方式在散点图上绘制一些圆圈:

<GrID>    <oxy:PlotVIEw x:name="PlotVIEw" title="{Binding Title}" >        <oxy:PlotVIEw.Axes>            <oxy:linearaxis position="Bottom" Minimum="-30" Maximum="30" IsAxisVisible="False" IsZoomEnabled="False" IsPanEnabled="False" />            <oxy:linearaxis position="left" Minimum="0" Maximum="35" IsAxisVisible="False" IsZoomEnabled="False" IsPanEnabled="False"/>        </oxy:PlotVIEw.Axes>        <oxy:PlotVIEw.SerIEs>            <oxy:ScatterSerIEs Height="100" WIDth="100" ItemsSource="{Binding Points}" MarkerType="Circle" />        </oxy:PlotVIEw.SerIEs>    </oxy:PlotVIEw></GrID>

我无法弄清楚如何启用某种点击处理程序,以便在用户点击DataPoint时触发事件.

〔实施例:

用户在X:0,Y:5点击数据点,我想触发一个事件,以便我可以处理该点的点击.

这可能与OxyPlot有关吗?我目前正在调查跟踪器,看看它是否可能是这条路线,但是开始耗尽这些想法.

解决方法 PlotVIEw定义了鼠标事件,您可以从中获取鼠标坐标. Inversetransform用于将鼠标坐标转换为绘图坐标.

例:

var model = new PlotModel { Title = "Test Mouse Events" };var s1 = new lineserIEs();model.SerIEs.Add(s1);double x;s1.MouseDown += (s,e) =>    {        x = (s as lineserIEs).Inversetransform(e.position).X;    };
@H_403_0@ 总结

以上是内存溢出为你收集整理的c# – OxyPlot获得点击的点全部内容,希望文章能够帮你解决c# – OxyPlot获得点击的点所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1219375.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存