WP7:所有区域都可以在Grid.Row中单击

时间:2013-03-01 01:59:06

标签: c# windows-phone-7 xaml

我搜索网站和每个地方,但似乎没有人知道这个问题。 基本上我想使用Tap或任何其他事件制作Grid.Row可点击! 问题是它可以工作,但只能在其中有文本的地方工作。看看图片,我希望它甚至可以在空白区域点击,所以基本上就是整个行的表面。

enter image description here

我知道可能有许多应用程序,如诺基亚传输甚至Windows Phone设置页面都是这样,它们的工作方式完全符合我希望我的应用程序工作的方式!

我已尝试过所有内容,我尝试了针对网格的Tap事件:仅在文本区域上仍然无法点击

我试过Stackpanel,没机会

我也尝试过Toolkit Gesture事件而没有机会

有人可以帮助我!

1 个答案:

答案 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事件。

祝你好运!

编辑:虽然之前的答案有效,但事实证明您也可以设置背景=“透明”。背景只需设置为某个东西,而不是要捕获的触摸事件的未设置值。