Странная панель инструментов в размещенном в Firefox приложении xbap - PullRequest
3 голосов
/ 17 января 2010

У меня есть приложение xbap, которое в основном представляет собой форму Windows, размещенную в элементе управления WPF. Когда я запускаю его с Firefox, я получаю панель инструментов, которую я не могу удалить. Эта панель инструментов не отображается в IE, если я выполняю xbap напрямую, но она появляется, если я встраиваю xbap в iframe.

alt text

Есть идеи как это убрать?

Ответы [ 2 ]

3 голосов
/ 19 января 2010

Используйте свойство 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 позволяет собственному пользовательскому интерфейсу навигации браузера управлять приложением XBAP:

Поскольку WPF не интегрируется с пользовательским интерфейсом навигации для Microsoft Internet Explorer 6, он предоставляет собственный пользовательский интерфейс навигации, который можно показать или скрыть, установив ShowsNavigationUI. WPF интегрируется с пользовательским интерфейсом навигации Windows Internet Explorer 7, поэтому настройка ShowsNavigationUI на страницах в Windows Internet Explorer 7 не действует.

0 голосов
/ 25 октября 2010

Я дал +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;
}
...