Comment naviguer vers une autre page avec le bouton en WPF
J'ai un deuxième .xaml page sous le nom de Page2.xaml
et je veux faire en sorte que lorsque mon bouton est cliqué, l'utilisateur est pris à Page2.xaml
J'ai pour mon bouton à l'intérieur de mon Page1.xaml
:
<Grid>
<Button x:Name="localModeBtn"
Style="{StaticResource MainButtonStyle}"
Content="local mode"
Click="localModeBtn_Click" />
</Grid>
Et pour le bouton gestionnaire d'événement:
private void localModeBtn_Click(object sender, RoutedEventArgs e)
{
Uri uri = new Uri("Page2.xaml", UriKind.Relative);
this.NavigationService.Navigate(uri);
}
En cliquant sur le bouton j'ai un message d'erreur qui dit "Impossible de localiser des ressources page2.xaml
"
Le truc, c'est que Page2.xaml
est dans le même dossier que Pag1.xaml
donc je ne vois pas où j'ai fait de mal?
Définir des "prises". Vous voulez qu'il se charge en Page1 ou voulez-vous créer une nouvelle Fenêtre de Navigation?
Vérifier mon ancien post concernant la page de conception de la navigation pour WPF stackoverflow.com/questions/17071180/...
Vérifier mon ancien post concernant la page de conception de la navigation pour WPF stackoverflow.com/questions/17071180/...
OriginalL'auteur galacticfan | 2013-12-26
Vous devez vous connecter pour publier un commentaire.
Solution à ma propre question:
Je me sens un peu bête d'apporter une réponse à ma propre question, mais grâce à Jasti de lien j'ai pu faire le tri dans mes code. Comme il ne l'avait posté un commentaire, je ne peux pas le marquer comme réponse, alors voici la solution.
J'ai changé le NavigationWindow sur une Fenêtre et inséré:
Et dans le constructeur de la MainWindow.xaml.cs, j'ai ajouté:
Puis la dernière étape a consisté à adapter le bouton gestionnaire d'événement:
OriginalL'auteur galacticfan
Vous n'avez pas besoin de code C# pour cela, il suffit de le faire en XML:
(Reformaté code non testé)
Command="NavigationCommands.GoToPage"
OriginalL'auteur lahjaton_j
Vous devriez utiliser cela, il a travaillé pour des moi:
Il y a un
variable type
d'une page avec la page.xaml à droite du nom de votre solution.après cela, vous devez utiliser ses méthodes pour le faire fonctionnellement.
D'accord! Je il exige une courte description.
OriginalL'auteur Milad Xandi
Utiliser un conteneur et de lier le contenu à une propriété dans votre viewmodel ou le code-behind.
Après que vous avez juste à mettre à jour la propriété par la définition d'une nouvelle page et d'appeler la PropertyChanged-événement (voir l'interface INotifyPropertyChanged). Cela permettra de mettre à jour le contenu de votre bac et vous pouvez afficher ce que vous voulez.
OriginalL'auteur Florian
Dans le cas où vous voulez une fenêtre séparée
OriginalL'auteur paparazzo
OriginalL'auteur Prince Jain