Mon application WPF est en train de devenir une vraie douleur. J'ai créé une fenêtre et voudrais charger une autre page quand je clique sur un bouton. J'ai supposé que ce serait simple, mais cela ne semble pas être le cas. Je parviens à charger l'autre page en utilisant this.content = new UserPage()
. Cependant, à partir de cette page utilisateur, je ne peux pas revenir à ma fenêtre principale. Je ne peux pas utiliser this.content
car la fenêtre ne peut pas être un enfant. Par conséquent, j'ai cherché autour et j'ai découvert que je devrais utiliser NavigationService pour rendre les choses beaucoup plus faciles. J'ai essayé d'utiliser NavigationService.GetNavigationService(this)
mais cela n'a pas fonctionné car il renvoyait toujours null. Je pensais que c'est parce que ma fenêtre principale est dérivée de Window
et non NavigationWindow
. Existe-t-il un moyen de convertir ma fenêtre en NavigationWindow sans redémarrer le projet? Chaque fois que je crée un nouveau fichier, il n'y a pas de modèle NavigationWindow - seulement Window, Page, User Control etc ...NavigationWindow - Où est-ce?
J'ai essayé de remplacer manuellement le XAML par NavigationWindow et ça fonctionnait bien, mais la méthode NavigationService renvoyait toujours null. Il y avait aussi un bar en haut avec des flèches vers l'arrière et vers l'avant (toutes deux désactivées), mais je n'en ai pas vraiment besoin. Je voudrais juste utiliser la méthode Navigate()
afin que je puisse facilement passer d'une page à l'autre. Des idées sur ce que je peux faire?
Merci pour toute aide, cela me rend fou! :)
Merci pour la réponse. Comment puis-je insérer un cadre dans la fenêtre? J'ai une grille (qui contient toute la mise en page), mais quand je place un cadre dans la fenêtre, il remplace la grille. Est-il possible d'insérer le cadre dans une fenêtre existante? Merci encore – Skoder
Mettez le cadre à l'intérieur de la grille –
Cela fonctionne. J'essayais de mettre ma disposition dans le cadre lui-même. Au lieu de cela, je viens de mettre le cadre en haut de l'arbre visuel et j'ai appelé sa méthode Navigate() qui semble fonctionner. Merci pour l'aide. – Skoder