我有一個xbap應用程序,它基本上是託管在WPF控件中的Windows窗體。當我用Firefox運行它時,我得到了一個我似乎無法刪除的工具欄。如果我直接執行xbap,則此工具欄不會與IE一起顯示,但如果將xbap嵌入到iframe
中,它確實會出現。Firefox託管的xbap應用程序中的奇怪工具欄
任何想法如何去除呢?
我有一個xbap應用程序,它基本上是託管在WPF控件中的Windows窗體。當我用Firefox運行它時,我得到了一個我似乎無法刪除的工具欄。如果我直接執行xbap,則此工具欄不會與IE一起顯示,但如果將xbap嵌入到iframe
中,它確實會出現。Firefox託管的xbap應用程序中的奇怪工具欄
任何想法如何去除呢?
使用Page.ShowsNavigationUI屬性將其隱藏。從MSDN Documentation,您可以在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,可以通過設置Sho來顯示或隱藏導航UI wsNavigationUI。 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;
}
完美!它甚至在MSDN鏈接中解釋了在IE7和8中這個工具欄沒有出現的原因。非常感謝你,享受你的賞金:) – 2010-01-19 16:04:29
不客氣,很高興幫助! – 2010-01-21 03:15:41