windows phone grid无法响应事件的问题

时间:2021-10-18 09:31:54

今天在做应用的时候,原本想windows phone grid无法响应事件的问题做一个竖着放的控件,类似Button的效果

windows phone grid无法响应事件的问题

对每个这些,里面都是通过border套grid套textblock实现的

代码如下

<Border Width="100" Height="400" Margin="0,0,40,0" BorderThickness="6" BorderBrush="White">
<Grid Tap="OnSettingClicked">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>

<TextBlock Text="设" Grid.Row="0" FontSize="32" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<TextBlock Text="置" Grid.Row="1" FontSize="32" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
</Border>

原本打算想再这些上面做一个tap的事件触发,但是发现只有点击textblock的时候事件才触发,点击border里面其他区域却不触发

上msdn social查看果然发现grid元素虽然继承UIElement,但是当背景画刷为空时,isHitTestable为false

原文在这里:http://social.msdn.microsoft.com/Forums/en-US/wpdevelop/thread/793afdec-7df1-46e3-a4bb-9a3a22f9c56e#068bd9ab-d60f-4be1-a973-95cfda40c58f

解决此问题方法只需要把Grid的背景设置为transparent或者一些颜色即可