我有一个Image,我想从中获取它(实际上是包含它的网格,因为它更大)。但这不能正常工作,因为触摸屏幕触摸按钮时我必须非常精确,否则它将无法正常工作。
<Grid Grid.Column="0" Tapped="DrawerIcon_Tapped" HorizontalAlignment="Center" VerticalAlignment="Center">
<Image Margin="5" x:Name="DrawerIcon" Source="/Assets/but_drawer.png" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" VerticalAlignment="Center" >
<Image.RenderTransform>
<CompositeTransform ScaleX="0.5" ScaleY="0.5"/>
</Image.RenderTransform>
</Image>
</Grid>
当我点击时,有没有办法扩展被击中元素的区域?
答案 0 :(得分:1)
CompositeTransform
仅使图像变大,为了使命中区域更大,您必须执行以下操作:
Image
Grid
)
Tapped
事件添加到Grid
Margin
的{{1}}将确定命中区域;因此,使这个更大将使命中区域更大(或使Image
更大的任何东西。)Grid
Background
透明!要修复您的代码,只需添加Grid
,如果您愿意,也可以将保证金增加到10:
Background="Transparent"
希望这有帮助。
答案 1 :(得分:0)
我通过在我想要点击的对象(仅在根Grid
下)的每个Grid
之外创建一个透明的Rectangle并将Tapped事件附加到它来实现它。显然,在Grid
和Stackpanel
下,会以某种方式影响Tapped事件。这不是一个真正的解决方案,只是一种解决方法。也许这是一个错误。