2013-02-19 99 views
0

我从外部框架获得了带有XAML Elements的Canvas,因此Canvas就像是一个黑盒子。如果我按下一个控件,事件会发生在EventHandler(object sender, EventArgs e) ......我确实需要在我点击的位置显示一个Popup控件...WinRT - 手指/鼠标位置

现在我在质疑自己在哪里可以获得位置我点击从?!?? 有没有简单的方法来获得位置?

回答

3

您的问题似乎有很多未知数 - 例如,您没有提到引发了什么事件,但您可以获取事件的发件人并将其投射到UIElement或其他预期类型,那么你可以调用这样的东西来提取元素的位置。

var position = element 
    .TransformToVisual(Window.Current.Content) 
    .TransformPoint(new Point()); 

为了让触摸或鼠标按键的实际位置 - 你可以尝试订阅到PointerPressed事件基础画布上,然后用你得到的位置,或者如果事件替换new Point()在上面的代码不会冒泡(您的处理程序不会被调用) - 您可以导航可视化树(使用VisualTreeHelper)并尝试在该Canvas的子元素上订阅该事件。

+0

终于我得到了我的指针,我在那里按:)现在我在质疑自己如何将我的面板放置在指针坐标系的网格中。我已经得到了相对于我的网格的指针。 – JuHwon 2013-02-27 22:49:15