ApplicationBar работает иначе в Windows Phone 7 Beta, чем в CTP

Есть несколько проблем, которые я заметил в бета-версии инструментов WP7:

  • ApplicationBar больше не заставляет страницу изменять размер содержимого с помощью обходного пути CTP.
  • Использование ApplicationBar из App.xaml, импортированного как статический ресурс, не работает должным образом.

В CTP-версии инструментов WP7 при использовании панели приложения и переходе со страницы на страницу панель приложения оставалась поверх содержимого страницы, а не изменяла размер содержимого, чтобы быть поверх панели приложения. Обходной путь заключался в том, чтобы установить для свойства IsVisible значение false в конструкторе и установить значение true в событии загрузки страницы. Это больше не работает, и панель приложений остается поверх загруженной страницы, если только она не отключена полностью. У меня есть xaml панели приложений в app.xaml, и каждая страница использует его как статический ресурс.

Кроме того, событие щелчка больше не запускается для кнопок приложения, я использую панель приложений в качестве ресурса в моем App.xaml и добавляю как {StaticResource} в xaml моей страницы. Любая помощь будет оценена по достоинству, так как это единственный способ навигации по моему приложению, помимо сворачивания моей собственной навигационной страницы.

public CalculatorView()
{
    InitializeComponent();

    ApplicationBar.IsVisible = false;

    SupportedOrientations = SupportedPageOrientation.Portrait;

    Application.Current.RootVisual = this;
}

private void PhoneApplicationPageLoaded(object sender, RoutedEventArgs e)
{
    ApplicationBar.IsVisible = true;
}

XAML-панель приложения:

<Shell:ApplicationBar x:Key="GlobalApplicationBar" IsVisible="True" IsMenuEnabled="True">
    <Shell:ApplicationBar.Buttons>
        <Shell:ApplicationBarIconButton x:Name="CalculaterAppIconButton" Click="CalculaterMenuItemClick" IconUri="/Images/Icons/32/Back.png" Text="Main" />
        <Shell:ApplicationBarIconButton x:Name="HistoryAppIconButton" Click="HistoryMenuItemClick" IconUri="/Images/Icons/32/Intl-History.png" Text="History" />
        <Shell:ApplicationBarIconButton x:Name="StatisticsAppIconButton" Click="StatisticsMenuItemClick" IconUri="/Images/Icons/32/Stats.png" Text="Stats" />
        <Shell:ApplicationBarIconButton x:Name="OptionsAppIconButton" Click="OptionsMenuItemClick" IconUri="/Images/Icons/32/Settings.png" Text="Options" />
    </Shell:ApplicationBar.Buttons>
    <Shell:ApplicationBar.MenuItems>
        <Shell:ApplicationBarMenuItem x:Name="StartingHandsMenuItem" Click="StartingHandsMenuItemClick" Text="Starting Hands" />
        <Shell:ApplicationBarMenuItem x:Name="HoleOddsMenuItem" Click="HoleOddsMenuItemClick" Text="Hole Odds" />
    </Shell:ApplicationBar.MenuItems>
</Shell:ApplicationBar> 

AppBar на странице приложения для телефона:

ApplicationBar="{StaticResource GlobalApplicationBar}"   //In my page.xaml

person JPM    schedule 27.07.2010    source источник
comment
Похоже, вы нашли способ заставить панель приложений вести себя нестандартно в версии CTP, но это больше не работает? Однако я не уверен, что понимаю, что вы имеете в виду, когда говорите, что остается на вершине. Ко второму пункту: когда я пытаюсь использовать панель приложений в качестве статического ресурса, я обнаруживаю, что обработчики событий вызываются, как и ожидалось.   -  person Technium    schedule 28.07.2010
comment
Под верхним я подразумеваю наложение, панель приложения рисуется последней, поэтому она закрывает содержимое окна внизу. Вот ссылка на то, как это выглядит: cid-66e5fcb98f941ac7 .photos.live.com/self.aspx/Public/ Обратите внимание, что размер рамки должен быть изменен так, чтобы она занимала верхнюю часть экрана. Второй щелчок по любой кнопке на панели приложений ничего не дает, кроме как показывает анимацию.   -  person JPM    schedule 29.07.2010


Ответы (1)


Не говоря уже о том, что вы имеете в виду воспринимаемые различия между бета-версией и CTP-версиями инструментов.
Панель приложения появляется поверх содержимого страницы в зависимости от ее прозрачности:

Если непрозрачность установлена ​​на 1, размер отображаемой страницы будет изменен так, чтобы он соответствовал области экрана, не закрытой панелью приложения.

из MSDN

person Matt Lacey    schedule 23.11.2010
comment
Спасибо за информацию. Это старый пост, и я считаю, что RTW решает проблему. - person JPM; 24.11.2010
comment
@JPM Я знаю, что это старая проблема, но хотел убедиться, что есть ответ на случай, если кто-то еще с похожей проблемой обнаружит это. - person Matt Lacey; 24.11.2010