1

我在 XAML 中有一个简单的矩形

<Rectangle x:Name="rect" IsTapEnabled="True" Height="100" Width="100" Fill="#FF72BB5C" Stroke="#FFFB0000" Tapped="rect_Tapped"/>

它画得很好,但是当我尝试点击它时,什么也没有发生。

我试过把笔画变大,然后点击它,什么也没有。

我已经尝试了许多与 Rectangle 相关的其他事件,但没有任何反应。

当我使用鼠标而不是触摸屏时,调用 Tapped 事件会不会有问题?

4

2 回答 2

0

刚刚面临同样的问题。解决了它上面的每个视图的IsHitTestVisible属性。对于 rect 和其他人。虽然是默认值,但可以省略。RectangleTrueFalseTrue

于 2015-03-05T10:16:45.460 回答
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现在它可以工作了。不知道为什么,但工作。我将深入探讨这个问题。

于 2015-03-05T10:26:45.253 回答