ljf31 发表于 2013-3-21 17:20:00

C1Chart (Silverlight) 怎样得到鼠标当前在图上横纵坐标值

当在图上移动鼠标时,怎样得到当前鼠标对应的横纵坐标的值。

ZenosZeng 发表于 2013-3-21 17:45:00

回复 1楼ljf31的帖子

ljf31 你好

这篇文章介绍了如何跟踪鼠标,如有问题可继续跟帖:
为-C1Chart-for-Silverlight-添加鼠标跟踪标记

ljf31 发表于 2013-3-22 09:26:00

关于该问题二次提问

回复 2楼dof的帖子

我要的要求是,当点选中一个数据点时,移动该点的位置,显示该位置的横纵坐标的值。附件中是我的代码,请帮我看看。

ZenosZeng 发表于 2013-3-22 17:59:00

Chart中提供了 DataIndexFromPoint 方法可以使用:
    _ddManager.DragDrop += (s, e) =>
    {
      DataSeries dser = ((PlotElement)e.DragSource).DataPoint.Series;
      DataPoint ds = ((PlotElement)e.DragSource).DataPoint;            
      PlotElement pe = (PlotElement)e.DragSource;               
      pe.Fill = CreateBrush(Colors.Red);
      Point pt = e.GetPosition(chart2);               
      //MessageBox.Show("X:" + this.txtX.Text + "Y:" + this.txtY.Text);
               
      double dis;
      int x = chart2.View.DataIndexFromPoint(e.GetPosition(this), 0, MeasureOption.X, out dis);
      int y = chart2.View.DataIndexFromPoint(e.GetPosition(this), 0, MeasureOption.Y, out dis);

      MessageBox.Show("X:" + x + "Y:" + y);
    };

ljf31 发表于 2013-3-25 09:21:00

回复 4楼dof的帖子

首先感谢版主,我用你指定的方法尝试了一下,X坐标值是正确的,但Y坐标的值却取得不对。这是为什么呢?

ZenosZeng 发表于 2013-3-25 17:22:00

使用这个方法看是否是你需要的结果:
Point point = chart2.View.PointToData(e.GetPosition(this));

ljf31 发表于 2013-3-25 17:55:00

谢谢版主

ZenosZeng 发表于 2013-4-2 19:27:00

:mj72:

alla_wangyao 发表于 2019-12-30 11:02:08

dof 发表于 2013-3-21 17:45
回复 1楼ljf31的帖子

ljf31 你好


这个例子有C#版本的吗?

Richard.Ma 发表于 2019-12-30 15:10:36

你好,我看这个里面提供的demo本身就是C#语言的,这个没有办法解决你的问题吗
页: [1]
查看完整版本: C1Chart (Silverlight) 怎样得到鼠标当前在图上横纵坐标值