今天在做应用的时候,原本想做一个竖着放的控件,类似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
解决此问题方法只需要把Grid的背景设置为transparent或者一些颜色即可