在Windows 8中未触发XAML矩形事件
我在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"/> 它画得很好,但当我试着点击它时,什么也没发生 我试着让划水更大,然后点击,什么都没有 我尝试了很多和矩形相关的其他事件,但并没有任何结果 当我使用鼠标而不是触摸屏时,调用点击事件是否会有问题?只是
<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事件。这个应用有更多的上下文吗?这肯定会起作用,如果你启动一个新的空白应用程序并尝试它,你也会看到。我在创建空白应用程序时默认使用了网格内的矩形。当我移除网格并使矩形本身正确激发时!