2010-01-17 4 views
3

J'ai une application xbap qui est essentiellement un formulaire Windows hébergé dans un contrôle WPF. Quand je l'exécute avec Firefox, j'obtiens la barre d'outils, que je ne peux pas sembler enlever. Cette barre d'outils n'apparaît pas avec IE si j'exécute le xbap directement, mais il apparaît si j'intègre le xbap dans un iframe.Barre d'outils étrange dans l'application xbap hébergée par Firefox

alt text

Toute idée comment supprimer ce?

Répondre

3

Utilisez la propriété Page.ShowsNavigationUI pour le masquer. De l'MSDN Documentation, vous pouvez le faire en 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> 

, ou dans le code:

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

En outre, la barre d'outils ne figure pas dans les navigateurs où l'intégration WPF permet à l'interface de navigation du navigateur natif pour contrôler l'application XBAP:

Parce que WPF ne s'intègre pas à l'interface de navigation pour Microsoft Internet Explorer 6, il fournit sa propre interface de navigation, qui peut être affiché ou masqué en définissant Sho wsNavigationUI. WPF s'intègre à l'interface de navigation de Windows Internet Explorer 7, de sorte que la configuration de ShowsNavigationUI sur les pages de Windows Internet Explorer 7 n'a aucun effet.

+0

Parfait! Il explique même dans le lien MSDN la raison pour laquelle dans IE7 et 8 cette barre d'outils n'apparaît pas. Merci beaucoup, profitez de votre générosité :) –

+0

Vous êtes les bienvenus, heureux d'aider! –

0

J'ai donné +1 pour une excellente réponse Justin.

Juste pour ajouter, si vous n'êtes pas affaire à une page, mais plutôt une ascx, vous pouvez le faire comme si ...

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