让背景抓住Tapped事件?

时间:2015-08-20 09:24:40

标签: xaml windows-store-apps uwp

我有一个半透明背景的网格,我希望用户可以点按背景来关闭弹出窗口。

现在我有了这个XAML:

<Grid
    Tapped="Close_Tapped">
    <Grid.Background>
        <SolidColorBrush Color="Black" Opacity=".75"/>
    </Grid.Background>
    <!-- Inner border -->
    <Border
        Background="White"
        CornerRadius="5">
        <!-- Other items -->
    </Border>
</Grid>

Tapped事件应仅应用于Grid背景,但显然这会将其应用于整个网格。

让这个Tapped事件的任何想法只适用于后台吗?

1 个答案:

答案 0 :(得分:2)

您可以检查e.OriginalSource事件处理程序中Close_TappedGrid还是Grid添加另一个元素,其他元素将会成为您的背景然后在那里移动Tapped处理程序

<Grid>
    <Border Tapped="Close_Tapped">
        <Border.Background>
            <SolidColorBrush Color="Black" Opacity=".75"/>
        </Border.Background>
    </Border>
    <!-- Inner border -->
    <Border
        Background="White"
        CornerRadius="5">
        <!-- Other items -->
    </Border>
</Grid>