WPF 中的命中测试
我在 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您自己进行命中测试(请参阅可视层中的命中测试有关如何执行此操作的详细信息),您应该能够检查 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.
你不能在中间放一个更小的椭圆并设置 IsHitTestVisible="false" 吗?
Cant you put a smaller ellipse in the middle of it and set IsHitTestVisible="false" ?