Lorsque l'on découvre WPF on fini très rapidement par ce poser des questions qui n'en sont pas. Par exemple: comment passager des questions arguments à une page ou une window?
Il est vrai que la découverte de la syntaxe suivante a de quoi surprendre:
NavigationService ns = NavigationService.GetNavigationService(this); ns.Navigate(new System.Uri("Page1.xaml", UriKind.Relative); // ou ns.Navigate(new Page1());
Mais comme toujours on oublie que l'on a affaire a des objets. Rien ne nous empêche donc de créer des surcharges du constructeur comme en WinForm.
On peut donc écrire:
ns.Navigate(new Page1.xaml("riri","fifi","loulou")); // avec le constructeur suivant pour Page1 public Page1(string arg1, string arg2, string arg3) { // on mémorise les arguments }
Pour une Window le code est donc identique, hors mis l'utilisation de la méthode Show en lieu et place du service de navigation.
Facile non? Pourtant le web regorge de personne qui posent cette question.