Question

Je développe une application simple sur Windows 8.
J'ai deux UserControls : Emplacements et EmplacementsCarte.
J'essaie de naviguer entre eux.Pour cela, j'ai ajouté des méthodes statiques dans App.Ils sont comme ça

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

La navigation fonctionne bien.Mais il y a un problème.J'appelle cette méthode à partir du bouton dans ApplicationBar.XAML ressemble à ceci

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

Et je reviens en arrière en appelant une autre fonction de la page suivante.
Le problème est que lorsque je reviens en arrière, ApplicationBar cesse de fonctionner.Il ne s'affiche pas après un clic droit.Si je mets BottomAppBar.IsOpen à vrai, il apparaît, mais ne s'est pas fermé.
Où est le problème?

P.S.
ApplicationBar ne fonctionne pas aussi bien lorsque je navigue vers une autre page à partir du bouton des contrôles XAML, le problème ne vient donc pas du bouton dans AppBar.

Était-ce utile?

La solution

Pour la navigation, j'utilisais un exemple de code téléchargé sur Internet.Ce code utilisait des fonctions statiques définies dans la classe App, qui changeaient Fenêtre.Actuel.Contenu.
C'était une mauvaise idée.Au lieu de cela, si j'ai juste besoin d'utiliser Navigation dans les cadres.
Lors de son utilisation, nous devons changer le type de nos contrôles de UserControl à Page.
La barre d'application fonctionne désormais très bien avec la navigation.
J'espère que cela aidera quelqu'un.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top