在Windows 8中未触发XAML矩形事件

在Windows 8中未触发XAML矩形事件,xaml,windows-8,Xaml,Windows 8,我在XAML中有一个简单的矩形 <Rectangle x:Name="rect" IsTapEnabled="True" Height="100" Width="100" Fill="#FF72BB5C" Stroke="#FFFB0000" Tapped="rect_Tapped"/> 它画得很好,但当我试着点击它时,什么也没发生 我试着让划水更大,然后点击,什么都没有 我尝试了很多和矩形相关的其他事件,但并没有任何结果 当我使用鼠标而不是触摸屏时,调用点击事件是否会有问题?只是

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

<Rectangle x:Name="rect" IsTapEnabled="True" Height="100" Width="100" Fill="#FF72BB5C" Stroke="#FFFB0000" Tapped="rect_Tapped"/>
它画得很好,但当我试着点击它时,什么也没发生

我试着让划水更大,然后点击,什么都没有

我尝试了很多和矩形相关的其他事件,但并没有任何结果


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

只是遇到了同样的问题。使用矩形及其上方的每个视图的IshittesVisible属性进行求解。对rect为True,对其他人为False。虽然默认为True,但可以省略。

我刚刚找到了一个奇怪而有趣的解决方案

如果布局如下所示:

<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>

我刚刚将垂直对齐=中心水平对齐=中心添加到文本块,现在它可以工作了。不知道为什么,但很有效。我将更深入地探讨这个问题。

我看这里没有任何错误。。。点击rect_按钮后,你有什么动作?testText.Text=Hello;我在这行上也放了一个断点,这样我肯定知道它是否触发了。我可以确认你的xaml用鼠标和触摸触发了tap事件。这个应用有更多的上下文吗?这肯定会起作用,如果你启动一个新的空白应用程序并尝试它,你也会看到。我在创建空白应用程序时默认使用了网格内的矩形。当我移除网格并使矩形本身正确激发时!