Вопрос

Я разрабатываю простое приложение в Windows 8.
У меня есть два usercontrols: Локации а также Локациям.
Я пытаюсь перемещаться между ними. Для этого я добавил в статические методы в приложение. Они такие

  public static void ShowLocationsMap()
  {
      var page = new LocationsMap();
      Window.Current.Content = page;
  }

Навигация работает нормально. Но есть проблема. Я вызываю этот метод из Button в приложении. XAML выглядит так

<ApplicationBar x:Name="BottomAppBar"  Height="88" VerticalAlignment="Bottom" Style="{StaticResource AppBarStyle}" Grid.Row="1">
        <StackPanel Orientation="Horizontal">
            <!-- Margin="left,top,right,bottom" -->
            <StackPanel Orientation="Vertical" Margin="5,14,5,14">
                <Button Content="Map" Click="MapButton_Click"></Button>
            </StackPanel>
        </StackPanel>
    </ApplicationBar>

И я ориентируюсь назад, вызывая другую функцию со следующей страницы.
Проблема в том, что когда я возвращаюсь назад, балл приложения останавливается на работу. Это не показывает после щелчка правой кнопкой мыши. Если я настрою Bottomappbar.isopen к истинный, он появляется, но не закрывался.
В чем проблема?

Пса
Приложение Balar не работает так же хорошо в случае, когда я перемещаюсь на другую страницу из кнопки на управлении XAML, поэтому проблема не на кнопке внутри Appbar.

Это было полезно?

Решение

Для навигации я использовал пример кода, загруженный из Интернета. Этот код использовал статические функции, определенные в классе приложений, которые менялись Window.current.content.
Это была плохая идея. Вместо этого, если мне просто нужно использовать Навигация кадров.
При его использовании нам нужно изменить тип наших элементов управления от usercontrol на страницу.
Бар приложений отлично работает с навигацией сейчас.
Надеюсь, это кому -то поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top