我在XAML中有一个简单的Rectangle
<Rectangle x:Name="rect" IsTapEnabled="True" Height="100" Width="100" Fill="#FF72BB5C" Stroke="#FFFB0000" Tapped="rect_Tapped"/>
它很好但是当我尝试点击它时没有任何反应。
我试过让笔划更大,然后点击那个,没有。
我尝试了许多与Rectangle相关的其他事件,但没有任何事情发生。
当我使用鼠标而非触摸屏时,调用Tapped事件会有问题吗?
答案 0 :(得分:0)
刚遇到同样的问题。使用IsHitTestVisible
的{{1}}属性及其上方的每个视图解决。对于rect,Rectangle
和对其他人True
。虽然False
是默认值,但可以省略。
答案 1 :(得分:0)
我刚刚为此找到了奇怪而有趣的解决方案。
如果您的布局如下所示:
<Grid>
<Canvas>
<Rectangle x:Name="rect" IsTapEnabled="True" Canvas.Top="100" Canvas.Left="100" Height="100" Width="100" Fill="#FF72BB5C" Stroke="#FFFB0000" Tapped="rect_Tapped"/>
</Canvas>
<TextBlock Name="Test" Text="Hi" />
</Grid>
然后将其更改为:
<Grid>
<Canvas>
<Rectangle x:Name="rect" IsTapEnabled="True" Canvas.Top="100" Canvas.Left="100" Height="100" Width="100" Fill="#FF72BB5C" Stroke="#FFFB0000" Tapped="rect_Tapped"/>
</Canvas>
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Name="Test" Text="Hi" />
</Grid>
我刚刚将VerticalAlignment="Center" HorizontalAlignment="Center"
添加到TextBlock
,现在可行了。不知道为什么,但有效。我将深入研究这个问题。