Панель приложений WP8 скрывается при изменении поворота

У меня есть такой код в моем приложении, чтобы скрыть SystemTray, и я не могу сделать то же самое для панели приложений. Почему? Я хочу изменить свойство isVisible при изменении поворота.

Это код:

private void PhoneApplicationPage_BeginLayoutChanged(object sender, OrientationChangedEventArgs e)
    {
        if (e.Orientation == PageOrientation.PortraitUp)
        {
            AppBar.IsVisible = true;
            SystemTray.IsVisible = true;
        }
        else
        {
            AppBar.IsVisible = false;
            SystemTray.IsVisible = false;
        }
    }

Я назвал панель приложений AppBar, но не могу изменить это свойство, я пытался посмотреть, что не так, и при отладке я вижу, что значение для AppBar равно null, почему?

Есть ли какой-нибудь другой способ, чтобы я мог скрыть его при смене режима?! Я делаю что-то неправильно? Поскольку этот метод работает для скрытия SystemTray


person dinchy87    schedule 26.02.2014    source источник


Ответы (2)


Давайте просто будем любезны и скажем, что ApplicationBar — забавное маленькое существо :) Вы пробовали получить доступ к нему на своей странице таким образом?

this.ApplicationBar.IsVisible = true;
person Igor Ralic    schedule 27.02.2014
comment
Вот и все. :) спасибо :) я не знал, что я не могу назвать панель приложений через x: name и затем получить к ней доступ в коде ... Это решило мою проблему. :) - person dinchy87; 27.02.2014

Ты пытался?

private void PhoneApplicationPage_OrientationChanged(object sender, OrientationChangedEventArgs e)
{
    // PageOrientation.PortraitDown is never used
    if (e.Orientation == PageOrientation.PortraitUp ||
        e.Orientation == PageOrientation.Portrait) 
    {
        AppBar.IsVisible = true;
        SystemTray.IsVisible = true;
    }
    else
    {
        AppBar.IsVisible = false;
        SystemTray.IsVisible = false;
    }
}
person Pantelis    schedule 27.02.2014