Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

ΝavigationService WPF

Îåêßíçóå áðü ôï ìÝëïò kos6101991. Τελευταία δημοσίευση από το μέλος kos6101991 στις 25-05-2012, 12:03. Υπάρχουν 8 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  24-05-2012, 17:33 70383

    ΝavigationService WPF

    Καλησπερα παιδια.Θελω κατι απλο...απο μια σελιδα wpf με ενα κουμπι να πηγαινω σε μια αλλη ο κωδικας ειναι αυτος...

    NavigationService x= new NavigationService();
              x.Navigate(new Page1());



    το ερρορ που μου βγαζει ειναι αυτο :

    Error    1    The type 'System.Windows.Navigation.NavigationService' has no constructors defined    c:\users\kostas\documents\visual studio 2010\Projects\nav\nav\MainWindow.xaml.cs    28    31    nav

    Τι ακριβως φταιει??

    Ευχαριστω...!!

  •  24-05-2012, 17:52 70385 σε απάντηση της 70383

    Απ: ΝavigationService WPF

    Το μήνυμα σου λέει ότι δεν μπορείς να δημιουργήσεις ένα navigation service γιατί δεν υπάρχει constructor. 

    Αν η κλάση σου είναι τύπου Page, έχει ήδη ένα NavigationService Property. Η απλή κλάση Window δεν υποστηρίζει Navigation.
    Εναλλακτικά, μπορείς να χρησιμοποιήσεις το Navigation Service ενός control που υποστηρίζει navigation με την NavigationService.GetNavigationService

    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  24-05-2012, 19:17 70386 σε απάντηση της 70385

    Απ: ΝavigationService WPF

    Αυτο :
    NavigationService x = NavigationService.GetNavigationService(this);
                x.Navigate(new Page1());

    Βγαζει αυτο

    Object reference not set to an instance of an object.


    Ενω οταν βαζω αυτο :
    NavigationService x = NavigationService.GetNavigationService(this);
                x.Navigate(new Uri("Page1.xaml"));

    Βγαζει αυτο : Invalid URI: The format of the URI could not be determined.

    Πως πρεπει να το κανω Θελω απο την MainWindow.xaml να πηγαινει στην Page.xaml

  •  24-05-2012, 20:11 70387 σε απάντηση της 70386

    Απ: ΝavigationService WPF

    Τί κλάση είναι το 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
  •  25-05-2012, 11:16 70388 σε απάντηση της 70387

    Απ: ΝavigationService WPF

    Η κλαση MainWindow einai partial τυπου WINDOW .Αυτα που μουλες τα εχω δοκιμασει και επειδη δεν μπορω να καταλαβω για ποιο λογο δεν δουλευουν για αυτο εγραψε.Τωρα αν δεν θες να απαντας δεν εισαι υποχρεωμενος....!!!
  •  25-05-2012, 11:29 70389 σε απάντηση της 70388

    Απ: ΝavigationService WPF

    Τί δοκίμασες? Ο κώδικας που σου έγραψα τρέχει. Άλλαξες τον τύπο της MainWindow από Window σε Page? Δοκίμασες το Page.NavigationService property?
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  25-05-2012, 11:33 70390 σε απάντηση της 70389

    Απ: ΝavigationService WPF

    Βεβαιως....αλλαξα το window se page και μου εβγαλε αυτο


    Error    1    Partial declarations of 'kostaswpf.MainWindow' must not specify different base classes    c:\users\kostas\documents\visual studio 2010\Projects\kostaswpf\kostaswpf\MainWindow.xaml.cs    20    26    kostaswpf


  •  25-05-2012, 11:48 70391 σε απάντηση της 70390

    Απ: ΝavigationService WPF

    Πρέπει να το αλλάξεις και στο XAML και στο code-behind. Γενικά, όπου υπάρχει code-behind αρχείο (Windows Forms, WPF, ASPX web app) ο τύπος υπάρχει και στο code-behind (.cs) και στο design αρχείο (.xaml, .designer.cs, .aspx).

    Πέρα από  το documentation στο  Navigation Overview, μάλλον θα πρέπει να κοιτάξεις το Walkthrough: Getting Started with WPF  . Περιγράφει όλη τη διαδικασία βήμα-βήμα καθώς snippets από το XAML και το code-behind. Η διαδικασία αλλαγής σε NavigationWindow είναι στην ενότητα Creating the Application Project, βήματα 3-7

    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  25-05-2012, 12:03 70392 σε απάντηση της 70391

    Απ: ΝavigationService WPF

    Χιλια ευχαριστω...Αυτο ητανε επρεπε ν αλλαξω το tag στην xaml  (Aπο windows-->page)..

    Eυχαριστω και παλι.
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems