网格背景是否始终为 IsHitTestVisible="True"?

Has a Grid background always been IsHitTestVisible="True"?

假设您有一个填充整个页面的网格控件。
在该网格之上,您有另一个网格填充整个页面。 假设两个Grids都被分成了3x3的grids,两个Grids上都有一个Button in Row="1" Col="1"。网格列和行的大小使得两个按钮不重叠。

结果是底部的按钮无法点击,因为顶部的Grid挡住了它。

如果将顶部的 Grid 设置为 IsHitTestVisible="False",现在可以按下底部的 Button,但不能按下顶部的 Button。

一直都是这样吗?我确定我以前使用过这样的重叠网格并且仍然可以访问两个按钮。

(是的,我知道还有其他方法可以做到这一点,但场景只是以这种方式提出问题。)

            <Grid Background="Transparent" IsHitTestVisible="True"
                  Width="1200" Height="800">
                <Grid.RowDefinitions>
                    <RowDefinition Height="100*"/>
                    <RowDefinition Height="100*"/>
                    <RowDefinition Height="600*"/>
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="400*"/>
                    <ColumnDefinition Width="400*"/>
                    <ColumnDefinition Width="400*"/>
                </Grid.ColumnDefinitions>
                <Button Grid.Row="1" Grid.Column="1" Content="Bottom Grid" Background="Green"/>
            </Grid>
            <Grid Background="Transparent" IsHitTestVisible="True"
                  Width="1200" Height="800">
                <Grid.RowDefinitions>
                    <RowDefinition Height="200*"/>
                    <RowDefinition Height="400*"/>
                    <RowDefinition Height="200*"/>
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="200*"/>
                    <ColumnDefinition Width="400*"/>
                    <ColumnDefinition Width="600*"/>
                </Grid.ColumnDefinitions>
                <Button Grid.Row="1" Grid.Column="1" Content="Top Grid" Background="Red"/>
            </Grid>

好的,找到原因了

这让我抓狂了一整天。有问题的代码是:

<Grid Background="Transparent"

将背景设置为任何颜色(包括透明)可防止点击传递到背面。