C# Control.PointToWindows Phone上的屏幕

C# Control.PointToWindows Phone上的屏幕,c#,silverlight,xaml,windows-phone-8,microsoft-metro,C#,Silverlight,Xaml,Windows Phone 8,Microsoft Metro,有没有办法在Windows Phone上获取控件的绝对屏幕坐标?此外,如果该方法能够与UserControl组件一起工作,则也会有所帮助。WPF似乎有Control.PointToScreen,这在wpapi中是不存在的 我的想法是,我正在尝试使用Callout控件指向屏幕上的UserControl作为帮助气泡,而锚点也不接受绝对坐标-因此这是一个巨大的关联问题,我将建立它作为本文的答案。也许你可以尝试使用控件。MousePosition 这是您想要的吗(尽管它是针对WP7的):使用UIElem

有没有办法在Windows Phone上获取控件的绝对屏幕坐标?此外,如果该方法能够与UserControl组件一起工作,则也会有所帮助。WPF似乎有Control.PointToScreen,这在wpapi中是不存在的


我的想法是,我正在尝试使用Callout控件指向屏幕上的UserControl作为帮助气泡,而锚点也不接受绝对坐标-因此这是一个巨大的关联问题,我将建立它作为本文的答案。

也许你可以尝试使用
控件。MousePosition


这是您想要的吗(尽管它是针对WP7的):

使用UIElement.TransformToVisual()

像这样的事情应该可以做到:

var control = this;    // assign the control you want to get the position of.
var transform = control.TransformToVisual(Application.Current.RootVisual);
var controlPosition = transform.Transform(new Point(0, 0));

但是我没有使用鼠标/触摸,我希望它们在加载的事件中弹出抱歉,我误解了你的问题,可能这就是你想要的-我将把这篇文章扩展到整个调用问题,以供将来参考,这对我仍然不起作用。我实际上使用的是transformtovisual()但是我得到了网格内所有组件的相同坐标。调查。