1

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

在此处输入图像描述

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

我已经尝试了一切,我尝试了 Grid 的 Tap 事件:不起作用仍然只能在文本区域上单击

我试过 Stackpanel ,没有机会

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

有人可以帮我吗!

4

1 回答 1

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

祝你好运!

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

于 2013-03-01T02:22:44.737 回答