2010-01-17 36 views
3

我有一個xbap應用程序,它基本上是託管在WPF控件中的Windows窗體。當我用Firefox運行它時,我得到了一個我似乎無法刪除的工具欄。如果我直接執行xbap,則此工具欄不會與IE一起顯示,但如果將xbap嵌入到iframe中,它確實會出現。Firefox託管的xbap應用程序中的奇怪工具欄

alt text

任何想法如何去除呢?

回答

3

使用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不起作用。

+0

完美!它甚至在MSDN鏈接中解釋了在IE7和8中這個工具欄沒有出現的原因。非常感謝你,享受你的賞金:) – 2010-01-19 16:04:29

+0

不客氣,很高興幫助! – 2010-01-21 03:15:41

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; 
}