3

我在画布上绘制了椭圆,我在画布上注册了一个 MouseLeftButtonUp,并且我想使用以下方法获取单击的椭圆:

(Ellipse)e.Source

但是 e.Source 始终是画布,我也尝试了 e.OriginalSource 并且对 PreviewMouseLeftButtonUp 做了同样的事情,但结果仍然相同。事件 arg 是 MouseButtonEventArgs。我究竟做错了什么?还有一种方法可以检查特定点是否有画布的子元素。

4

2 回答 2

2

改为使用e.OriginalSource

于 2011-08-30T00:35:01.903 回答
0

您可能想要 PreviewMouseLeftButtonUp,而不是 MouseLeftButtonUp。此外,您可能需要使用 Ellipse.PreviewMouseLeftButtonUp 注册您的事件,而不是 Canvas 上的 MouseUp 事件。像这样的东西:

<Canvas ... Ellipse.PreviewMouseLeftButtonUp="MyHandler" />

正如 HB 提到的,你想使用 e.OriginalSource,而不是 e.Source。

编辑:误读问题,编辑更改为 PreviewMouse*LeftButton*Up

于 2011-08-30T00:38:11.040 回答