加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows-8 – Windows 8广告显示在设置弹出窗口之上

发布时间:2020-12-14 02:49:37 所属栏目:Windows 来源:网络整理
导读:一,截图: 标题和图像很好地解释了它.我的应用主视图组右侧有一个广告设置(非常类似于此示例中的默认网格模板),当我拉出“关于”屏幕时,广告会流下来. “关于”屏幕是在SettingsFlyout上设置的用户控件,我从一个开发营地(下面)发布的一些代码示例中借用了这
一,截图:

标题和图像很好地解释了它.我的应用主视图组右侧有一个广告设置(非常类似于此示例中的默认网格模板),当我拉出“关于”屏幕时,广告会流下来.

“关于”屏幕是在SettingsFlyout上设置的用户控件,我从一个开发营地(下面)发布的一些代码示例中借用了这些控件.

class SettingsFlyout
{
    private const int _width = 346;
    private Popup _popup;

    public void ShowFlyout(UserControl control)
    {
        _popup = new Popup();
        _popup.Closed += OnPopupClosed;
        Window.Current.Activated += OnWindowActivated;
        _popup.IsLightDismissEnabled = true;
        _popup.Width = _width;
        _popup.Height = Window.Current.Bounds.Height;

        control.Width = _width;
        control.Height = Window.Current.Bounds.Height;

        _popup.Child = control;
        _popup.SetValue(Canvas.LeftProperty,Window.Current.Bounds.Width - _width);
        _popup.SetValue(Canvas.TopProperty,0);
        _popup.IsOpen = true;
    }

    private void OnWindowActivated(object sender,Windows.UI.Core.WindowActivatedEventArgs e)
    {
        if (e.WindowActivationState == Windows.UI.Core.CoreWindowActivationState.Deactivated)
        {
            _popup.IsOpen = false;
        }
    }

    void OnPopupClosed(object sender,object e)
    {
        Window.Current.Activated -= OnWindowActivated;
    }
}

而且,因为我知道它会被要求,这是XAML在我的页面上定义广告的一行:

<ads:AdControl Visibility="{Binding IsTrial,Source={StaticResource License},Converter={StaticResource BooleanToVisibilityConverter}}"  Grid.Row="0" Grid.RowSpan="2" x:Name="LandscapeAdControl" ApplicationId="test_client" AdUnitId="Image_160x600" Width="160" Height="600" VerticalAlignment="Center" HorizontalAlignment="Right"/>

那么,为什么会发生这种情况,我该如何预防呢?

猜疑

>我还在使用Consumer Preview b / c我周一有一个show-and-tell,没有时间在这个盒子上迁移操作系统而不会在我显示这个时失去功能.因此,如果它是一个错误,升级可能会修复它.

表1.A更新我已升级到Release Preview并遇到同样的问题.
>这里是否有一些花哨的广告隐藏但仍然得到印象预防技术?也许它认为我试图用ui元素来覆盖广告,并且仍然可以在没有用户看到它的情况下获得它的印象.如果是这样,我如何管理这个完全合法的用例?

扰流板警报:ZIndex未设置在任何位置.

解决方法

覆盖AppBar(顶部或底部)会出现同样的问题.我在AppBar实例上使用Opened和Closed事件来隐藏/显示广告.这意味着AdControl绑定到本地页面属性,而不是直接绑定到ViewModel.就像你说的那样,这很不幸但它确实有效.

private void bottomAppBar_Opened(object sender,object e)
    {
        if (App.ViewModel.IsTrialVisibility == Visibility.Visible)
            this.DefaultViewModel["AdVisibility"] = Visibility.Collapsed;
        // else do nothing as we don't want to show it since it's not a trial
    }

    private void bottomAppBar_Closed(object sender,object e)
    {
        if(App.ViewModel.IsTrialVisibility == Visibility.Visible)
            this.DefaultViewModel["AdVisibility"] = Visibility.Visible;
        // else do nothing as it's not shown in the first place (not a trial)
    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读