WPF 中的命中测试

发布于 2024-08-16 23:15:33 字数 284 浏览 6 评论 0原文

我在 Canvas 上有一个 Ellipse,我正在对其进行命中测试。 每次我单击椭圆的笔划时,测试都会通过。 如果我单击椭圆的中间,测试就会失败。 这很好!

在我像这样填充椭圆之后:myEllipse.Fill = new SolidColorBrush(Colors.Blue);, 当我单击椭圆的中间时,测试也通过了。

我怎样才能禁用这个功能? (即使Ellipse已填充,当我单击中间时测试也会失败) 谢谢 !

I have an Ellipse on a Canvas and I'm doing Hit Testing on it.
Every time I click the stroke of the Ellipse, the test passes.
If I click in the middle of the Ellipse, the test fails.
This is good!

After I fill the ellipse like this: myEllipse.Fill = new SolidColorBrush(Colors.Blue);,
the test pasess also when I click in the middle of the Ellipse.

How can I disable this?
(even when Ellipse is Filled, the test will fail when I click in the middle)
Thanks !

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

染火枫林 2024-08-23 23:15:33

如果您自己进行命中测试(请参阅可视层中的命中测试有关如何执行此操作的详细信息),您应该能够检查 GeometryHitTestResult 的 IntersectionDetail a> 是 IntersectionDetail.Intersects,而不是 IntersectionDetail.FullyContains

If you do your own hit testing (see Hit Testing in the Visual Layer for details on how to do this), you should be able to check the IntersectionDetail of the GeometryHitTestResult is IntersectionDetail.Intersects, and not IntersectionDetail.FullyContains.

与酒说心事 2024-08-23 23:15:33

你不能在中间放一个更小的椭圆并设置 IsHitTestVisible="false" 吗?

Cant you put a smaller ellipse in the middle of it and set IsHitTestVisible="false" ?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文