想象一下,我将此椭圆应用于Style的ControlTemplate。 (例如:这将用于滑块的拇指)
<Ellipse x:Name="Ellipse"
Fill="#C0FFFFFF"
Stroke="{StaticResource SpecialColor}"
StrokeThickness="2"/>
现在,只要鼠标与此椭圆接触,该元素就会被鼠标捕获。如何更改碰撞几何?有没有XAML唯一的方法来做到这一点?
让我们说我想让碰撞区域更小,所以当鼠标位于椭圆中间时,它会抓住它。
或许我想让碰撞区域大于椭圆大小,所以当鼠标靠近椭圆时会抓住它。
答案 0 :(得分:2)
这些解决方案不会改变椭圆的命中测试,但会尽可能提供XAML解决方案。
通过将Ellipse包装在容器(Grid?)中并将透明背景指定给容器,可以将其设置得更大。
<Grid Background="Transparent">
<Ellipse Margin="5" ... />
</Grid>
将其缩小可以通过在顶部添加较小的几何体,再次使用透明背景并禁用椭圆上的命中测试来实现(IsHitTestVisible =“False”
<Grid>
<Ellipse IsHitTestVisible="False" ... />
<Grid Background="Transparent" Width="5" Height="5" />
</Grid>
重要提示: