XAML矩形事件Tapped在Windows 8中不会触发

时间:2013-01-21 00:39:21

标签: xaml windows-8

我在XAML中有一个简单的Rectangle

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

它很好但是当我尝试点击它时没有任何反应。

我试过让笔划更大,然后点击那个,没有。

我尝试了许多与Rectangle相关的其他事件,但没有任何事情发生。

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

2 个答案:

答案 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,现在可行了。不知道为什么,但有效。我将深入研究这个问题。