我有一个 xbap 应用程序,它基本上是一个托管在 WPF 控件中的 Windows 窗体。当我用 Firefox 运行它时,我得到了工具栏,我似乎无法删除它。如果我直接执行 xbap,该工具栏不会随 IE 一起出现,但如果我将 xbap 嵌入到iframe
.
任何想法如何删除它?
使用 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 无效。
我给贾斯汀一个很好的答案+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;
}