如何在运行时找到鼠标位置?

时间:2011-06-23 11:55:00

标签: silverlight

我写了一个包含8个按钮的UserControl。

我将此UserControl添加到我的页面 - 现在我想:

  1. 抓住按钮点击事件 - 所以我将INotifyPropertyChanged的实现添加到userControl,并在click事件中发送将被页面捕获的事件

  2. 找到所点击按钮的确切位置 - 页面上的屏幕位置 -

  3. 这是我无法找到的事情。

    请帮忙......?

3 个答案:

答案 0 :(得分:1)

在运行时获取鼠标位置的唯一方法是在鼠标事件处理程序中,通过调用e.GetPosition() - 其中“e”是MouseEventArgs。

答案 1 :(得分:1)

创建包含所需位置信息的自定义事件参数(例如WhereWasIPressedArgs)并在控件上添加自定义事件

e.g。 event EventHandler<WhereWasIPressedArgs> WhereWasIPressed;

在8键控件中,使用鼠标位置信息设置参数的位置属性并调用您的事件。

有关获取鼠标位置的一般方法的详细信息have a look at this link

答案 2 :(得分:0)

在运行时获取鼠标位置的唯一方法是在鼠标事件处理程序中,通过调用e.GetPosition() - 其中“e”是MouseEventArgs

double point1 = e.GetPosition(bitmapCadView.UIElement).X;

double point2 = e.GetPosition(bitmapCadView.UIElement).Y;