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

今天在做应用的时候,原本想做一个竖着放的控件,类似Button的效果

对每个这些,里面都是通过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或者一些颜色即可

posted @ 2012-09-23 22:12  apir8181  阅读(266)  评论(0)    收藏  举报