我搜索网站和每个地方,但似乎没有人知道这个问题。 基本上我想使用Tap或任何其他事件制作Grid.Row可点击! 问题是它可以工作,但只能在其中有文本的地方工作。看看图片,我希望它甚至可以在空白区域点击,所以基本上就是整个行的表面。
我知道可能有许多应用程序,如诺基亚传输甚至Windows Phone设置页面都是这样,它们的工作方式完全符合我希望我的应用程序工作的方式!
我已尝试过所有内容,我尝试了针对网格的Tap事件:仅在文本区域上仍然无法点击
我试过Stackpanel,没机会
我也尝试过Toolkit Gesture事件而没有机会
有人可以帮助我!
答案 0 :(得分:1)
输入事件将通过透明区域落下。在这种情况下我通常做的是使用几乎透明的背景颜色。
<Grid HorizontalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid Grid.Row="0" Background="#01ffffff" Tap="UIElement_OnTap" HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0">Test Block</TextBlock>
<TextBlock Grid.Column="1">3000</TextBlock>
</Grid>
</Grid>
在此示例中,请注意最外层网格中的每一行都是跨越整行并处理 Tap 事件的另一个网格。
但是,在这个例子中重要的是 Background =“#01ffffff”。这种颜色几乎是透明的,但只是不透明,足以捕捉Tap事件。
祝你好运!编辑:虽然之前的答案有效,但事实证明您也可以设置背景=“透明”。背景只需设置为某个东西,而不是要捕获的触摸事件的未设置值。