为什么我的webview覆盖了地铁应用中的弹出窗口?

时间:2013-03-25 03:13:58

标签: popup microsoft-metro

我想在我的地铁应用程序中创建一个设置面板。

我添加了一个带有webview的主页,如下所示:

<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:App"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
x:Class="App.MainPage"
mc:Ignorable="d">

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
    <WebView x:Name="MainWebView"/>
</Grid>

并使用此代码显示我的popip窗口

   _settingsPopup = new Popup();
        _settingsPopup.Closed += OnPopupClosed;
        Window.Current.Activated += OnWindowActivated;
        _settingsPopup.IsLightDismissEnabled = true;
        _settingsPopup.Width = _settingsWidth;
        _settingsPopup.Height = _windowBounds.Height;

        SettingsPanel mypane = new SettingsPanel();
        mypane.Width = _settingsWidth;
        mypane.Height = _windowBounds.Height;

        _settingsPopup.Child = mypane;
        _settingsPopup.SetValue(Canvas.LeftProperty, _windowBounds.Width - _settingsWidth);
        _settingsPopup.SetValue(Canvas.TopProperty, 0);
        _settingsPopup.IsOpen = true;

但是,最后弹出窗口无法显示,当我将webview设置为隐藏时,我在webview后面找到了弹出窗口。

我找不到任何功能或属性来设置zindex或者像zindex一样帮助我将弹出窗口放在前面。

如何使其正确?

1 个答案:

答案 0 :(得分:1)

行为是设计的,因为WebView将始终占据最高位置。建议的解决方案是在弹出时隐藏WebView,或在显示弹出窗口时使用WebViewBrush作为占位符。

网上有很多教程,我个人推荐这篇文章: How to display charms on a top of the WebView