Windows phone 7 可见性设置为“已折叠”的网格行仍保留一个黑点

Windows phone 7 可见性设置为“已折叠”的网格行仍保留一个黑点,windows-phone-7,xaml,Windows Phone 7,Xaml,我正在尝试为我的全景视图放置一个广告网格 问题是,当我试图通过将可见性设置为“折叠”(当应用程序不是“试用版”)来隐藏广告网格时,我再也看不到广告了,但我看到了一个与广告大小相同的保留空白。下面是我的代码: <phone:PhoneApplicationPage xmlns:my1="clr-namespace:Google.AdMob.Ads.WindowsPhone7.WPF;assembly=Google.AdMob.Ads.WindowsPhone7" xmlns:my=

我正在尝试为我的全景视图放置一个广告网格

问题是,当我试图通过将可见性设置为“折叠”(当应用程序不是“试用版”)来隐藏广告网格时,我再也看不到广告了,但我看到了一个与广告大小相同的保留空白。下面是我的代码:

    <phone:PhoneApplicationPage xmlns:my1="clr-namespace:Google.AdMob.Ads.WindowsPhone7.WPF;assembly=Google.AdMob.Ads.WindowsPhone7"  xmlns:my="clr-namespace:adMob7;assembly=adMob7"  
    x:Class="WP7SQLiteClient._MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:controls="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:local="clr-namespace:WP7SQLiteClient"
    mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="696"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="Portrait"  Orientation="Portrait"
    shell:SystemTray.IsVisible="True">
    <phone:PhoneApplicationPage.Resources>

    </phone:PhoneApplicationPage.Resources>
        <!--LayoutRoot is the root grid where all page content is placed-->
    <Grid x:Name="LayoutRoot" Background="Transparent">
        <!--Pivot Control-->
        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>

        <controls:Panorama Grid.Row="0" x:Name="panoramaMain" SelectionChanged="Panorama_SelectionChanged">
            <controls:PanoramaItem Header="messages">


            </controls:PanoramaItem>
            <controls:PanoramaItem Header="share">

            </controls:PanoramaItem>
        </controls:Panorama>

      <Grid Grid.Row="1" Background="Yellow" x:Name="grid" Margin="0" Visibility="Collapsed" >
    <adduplex:AdControl x:Name="ad" Margin="0" xmlns:adduplex="clr-namespace:AdDuplex;assembly=AdDuplex.AdControl.Silverlight"
                        AppId="7671" 
                        />
        </Grid>
    </Grid>


</phone:PhoneApplicationPage>


如何在不保留空白的情况下隐藏或删除广告?

确保包含控件的网格行也将折叠:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="auto"/>
    </Grid.RowDefinitions>
    <myControl Grid.Row="1" />
</Grid>


包含控件的第二行现在将折叠。当高度设置为“*”时,行仍将是“可见的”。

您能显示行定义吗?@Erno没有行定义,那么您如何做到这一点:
Grid.row=“1”
我没有很强的XAML定义,所以我想如果没有行定义,它就会被忽略。是的,它将被忽略,但现在将放在全景图的顶部。如果您将行高设置为“自动”,则可能需要(根据情况)定义一个最大高度,以防内容变得愚蠢。网格仍然不会塌陷。即使在可见性崩溃的情况下从一开始就设置控件,仍然会保留空间如果我将高度从“自动”设置为“30”,我只能看到控件的30px,但在其顶部仍保留空间(即,如果初始保留空间为80,如果我显示30px,则仍保留50px的空白空间)让我们看看整个XAML,我在黑暗中拍摄。网格单元格/行中可能还有其他内容将AdControl的边距设置为
0
时会发生什么?我怀疑控制有违约保证金。另一种测试方法是将AdControl放入嵌套的网格中,并为网格提供良好的可见背景色。在Blend中打开应用程序也有助于确定差距的来源。