Τί κλάση είναι το MainWindow? Εϊπαμε το Window δεν υποστηρίζει Navigation. Αν αλλάξεις τον τύπο της MainWindow σε Page και χρησιμοποιήσεις το NavigationService property δεν θα έχεις πρόβλημα.
Αν για παράδειγμα αλλάξεις τον τύπο σε Page, το παρακάτω παίζει:
this.NavigationService.Navigate(new Page1());
όπως και το
this.NavigationService.Navigate(new Page1());
αλλά και το
this.NavigationService.Navigate( new Uri("Page1.xaml",UriKind.Relative));
Ομοίως παίζει και αν καλέσεις την GetNavigationService
var svc=NavigationService.GetNavigationService(this);
svc.Navigate( new Uri("Page1.xaml",UriKind.Relative));
Κοίτα, καλό είναι να δώσεις λίγη προσοχή και να μην προσπαθείς να βρεις τί δουλεύει "ρίχνοντας κώδικα". Έγραψες δύο διαφορετικές εκδόσεις, οι οποίες έσκασαν σε εντελώς διαφορετικά σημεία. Στην πρώτη περίπτωση η GetNavigationService σου γύρισε Null. Στη δεύτερη έδωσες λάθος Url με αποτέλεσμα να σκάσει η new Uri. Καμμία σχέση με με αυτό που έψαχνες.
Επίσης, καλό θα είναι να διαβάσεις και το
documentation για να δεις πως δουλεύει το Navigation γενικά, πριν αρχίσεις να γράφεις κώδικα.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos