0

Canvas从外部框架获得了一个带有 XAML 元素的东西,所以它对Canvas我来说就像一个黑盒子。如果我按下一个控件,则会引发一个事件EventHandler(object sender, EventArgs e)......我确实需要Popup在我点击的位置显示一个控件......

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

4

1 回答 1

3

您的问题似乎有很多未知数 - 例如,您没有提到引发了什么事件,但是您可以获取事件的发送者并将其转换为某个UIElement或其他预期类型,然后您可以调用某事像这样提取元素的位置。

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

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

于 2013-02-19T21:48:10.497 回答