如何添加本地添加UWP的多个实例?

时间:2019-01-06 12:12:40

标签: c# uwp windows-store-apps ads uwp-xaml

我有一个UWP应用,可显示多个视频目录。它们位于单独的页面中。为此,我创建了一个NativeAdV2控件:

public sealed partial class CardAdvert : UserControl
{
    NativeAdsManagerV2 manager = new NativeAdsManagerV2("d25517cb-12d4-4699-8bdc-52040c712cab", "test");
    NativeAdV2 advert;
    public CardAdvert()
    {
        InitializeComponent();
        manager.AdReady += AdReady;
        manager.RequestAd();
    }

    private void AdReady(object sender, NativeAdReadyEventArgs e)
    {
        advert = e.NativeAd;
        Initialize();
        e.NativeAd.RegisterAdContainer(this);    //Exception is here
    }

    public void Initialize()
    {
        title.Text = advert.Title;
        image.Source = new BitmapImage(advert.MainImages.First().Url.ToUri());
        if (advert.AdIcon == null)
            contentGrid.ColumnDefinitions[0].Width = new GridLength(0);
        else
            icon.ProfilePicture = advert.AdIcon.Source;

        if (string.IsNullOrWhiteSpace(advert.SponsoredBy))
            sponsor.Visibility = Visibility.Collapsed;
        else
            sponsor.Text = advert.SponsoredBy;

        if (!string.IsNullOrWhiteSpace(advert.Rating))
            info.Text += $" {advert.Rating}";

        if (string.IsNullOrWhiteSpace(advert.CallToActionText) && string.IsNullOrWhiteSpace(advert.Price))
            desc.Visibility = Visibility.Collapsed;
        else if (!string.IsNullOrWhiteSpace(advert.CallToActionText))
            desc.Text = advert.CallToActionText;
        else
            desc.Text = advert.Price;
    }
} 

但是无论我第二次还是第三次在哪里创建它(甚至在不同的页面上),它都会在e.NativeAd.RegisterAdContainer(this)上抛出异常:

Unhandled exception at 0x082A1330 (Windows.UI.Xaml.dll) in FoxTube.exe:
0xC000027B: An application-internal exception has occurred (parameters: 0x1E9F4608, 0x00000003)

MSDN论坛或其他地方,也没有NativeAdV2类文档中没有类似的内容

完全,我想每10个视频插入一次此控件。或至少在每一页上。有什么解决办法吗?

1 个答案:

答案 0 :(得分:0)

实际上,我不知道为什么Microsoft不想解决此问题,但正如他们所说的那样,它可以在较早的版本中使用。您只需要将目标版本和最低版本降级到17134,它就会起作用。您还可以使用Windows UI Library来获取最新的XAML控件