3

我有一个 xbap 应用程序,它基本上是一个托管在 WPF 控件中的 Windows 窗体。当我用 Firefox 运行它时,我得到了工具栏,我似乎无法删除它。如果我直接执行 xbap,该工具栏不会随 IE 一起出现,但如果我将 xbap 嵌入到iframe.

替代文字

任何想法如何删除它?

4

2 回答 2

3

使用 Page.ShowsNavigationUI 属性将其隐藏。从MSDN 文档中,您可以在 XAML 中执行此操作:

<Page
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="HomePage"
    ShowsNavigationUI="False"
>


...


</Page>

,或在代码中:

using System;
using System.Windows;
using System.Windows.Controls;

namespace CSharp
{
    public partial class HomePage : Page
    {
        public HomePage()
        {
            InitializeComponent();

            // Hide host's navigation UI
            this.ShowsNavigationUI = false;
        }
    }
}

此外,工具栏不会出现在 WPF 集成允许本机浏览器导航 UI 控制 XBAP 应用程序的浏览器中:

因为 WPF 没有与 Microsoft Internet Explorer 6 的导航 UI 集成,所以它提供了自己的导航 UI,可以通过设置 ShowsNavigationUI 来显示或隐藏。WPF 确实与 Windows Internet Explorer 7 导航 UI 集成,因此在 Windows Internet Explorer 7 中的页面上设置 ShowsNavigationUI 无效。

于 2010-01-19T15:57:32.903 回答
0

我给贾斯汀一个很好的答案+1。

只是要补充一点,如果您处理的不是页面而是 ascx,您可以这样做......

public Whatever()
{
    this.Navigated += new NavigatedEventHandler(Whatever_Navigated);
}

private void Whatever_Navigated(object sender, NavigationEventArgs e)
{
    NavigationWindow ws = (e.Navigator as NavigationWindow);
    ws.ShowsNavigationUI = false;
}
于 2010-10-25T16:09:24.233 回答