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中打开应用程序也有助于确定差距的来源。