我有一个Windows Phone 8应用程序,我创建了一个用户控件来显示Pubcenter广告和AdDuplex广告。当我无法从pubcenter收到广告时,我切换了两个控件的可见性。
<Grid x:Name="LayoutRoot" Background="{StaticResource PhoneChromeBrush}">
<UI:AdControl ApplicationId="2ebbd26b-9e78-4fe6-9d32-2880b3246d9e" AdUnitId="177651" Name="MSAdControl" HorizontalAlignment="Left" VerticalAlignment="Top" BorderThickness="0" Height="80" Width="480" Visibility="Visible"/>
<adduplex:AdControl x:Name="AdDuplexAdControl" AppId="104211" Width="480" Height="80" Visibility="Collapsed" IsTest="True"/>
</Grid>
现在在我的MainPage.xaml中,我使用页面顶部的广告控件,如下所示:
<Grid x:Name="LayoutRoot">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<local:AdControl Grid.Row="0"/>
<!--Pivot Control-->
<phone:Pivot Grid.Row="1" Title="{Binding Path=LocalizedResources.ApplicationTitle, Source={StaticResource LocalizedStrings}}" SelectionChanged="Pivot_SelectionChanged">
<!--Pivot item one-->
但每次adduplex加载广告时,我都会收到广告控制错误,并且在调试时我发现罪魁祸首元素是&#34; system.windows.controls.border&#34;我不清楚它来自哪里。
以下是红色标记的屏幕截图,代表了覆盖区域。
答案 0 :(得分:0)
在我的应用中,我只在PubCenter失败时创建AdDuplex控件,而不是搞乱可见性。
尝试使用类似于此代码的内容,其中有一个Grid(adPanel),它首先存储PubCenter广告,但如果需要,会添加AdDuplex。 &#39;广告&#39;是PubCenter控件,您可以添加此代码在页面加载时运行,或者只是通过设计器设置其ErrorOccurred事件。
ad.ErrorOccurred += (snd, args) =>
{
if (ad.Visibility == Visibility.Visible)
{
ad.Visibility = Visibility.Collapsed;
AdDuplex.Controls.AdControl adAd = new AdDuplex.Controls.AdControl { AppId = "104211" };
adPanel.Children.Insert(0, adAd);
}
};