2010-05-05 14 views
5

से Exercise 1: Creating Windows Phone Applications with Microsoft Visual Studio 2010 Express for Windows PhoneNavigationService.Navigate() विधि और PhoneApplicationFrame.Source प्रॉपर्टी के बीच क्या अंतर है?

कार्य 3 लिया: चरण 9

// navigate 
this.NavigationService.Navigate(new Uri("/PuzzlePage.xaml", UriKind.Relative)); 

नोट:
PhoneApplicationPage वर्ग प्रदान करता है तरीकों और गुण अपने NavigationService संपत्ति के माध्यम से पृष्ठों पर नेविगेट करने के लिए। आप NavigationService की नेविगेट विधि को कॉल कर सकते हैं और पैरामीटर के रूप में पृष्ठ के लिए यूआरआई पास कर सकते हैं। आप नेविगेशन इतिहास में पिछड़े या आगे नेविगेट करने के लिए GoBack और GoForward विधियों का भी उपयोग कर सकते हैं। हार्डवेयर बैक बटन भी एक एप्लिकेशन के भीतर पिछड़ा नेविगेशन प्रदान करता है। उपरोक्त दिखाया गया ईवेंट हैंडलर PuzzlePage.xaml पृष्ठ पर जाने के लिए नेविगेशन सेवा का उपयोग करता है।

टास्क 4: चरण 3

(RootVisual as Microsoft.Phone.Controls.PhoneApplicationFrame).Source = 
    new Uri("/ErrorPage.xaml", UriKind.Relative); 

नोट:
...
जब भी आप जो प्रदर्शित सामग्री से अलग है एक मूल्य के लिए स्रोत गुण सेट, फ्रेम पर जाता नई सामग्री
...

दोनों तकनीकों के अंतर और समानताएं क्या हैं?

उत्तर

6

अनिवार्य रूप से, वे दोनों एक ही काम करते हैं।

NavigationService.Navigate एक मूल सिल्वरलाइट नेविगेशन सेवा है जो एक xaml फ़ाइल से दूसरे में एसिंक्रोनस नेविगेशन को अनुमति देता है (उपयोगकर्ता नियंत्रण लोड करने की आवश्यकता को समाप्त करता है) - एक उत्कृष्ट छोटा अवलोकन here है।

अंतर यह है कि NavigationService में ब्राउज़र-एस्क्यू फैशन में पिछड़े और आगे जाने की क्षमता है। PhoneApplicationFrame की संपत्ति सेट करना नहीं है।

अभी भी शुरुआती दिनों और शायद यह एक शिक्षित अनुमान बनाने के लिए जल्द ही है जिसके लिए आपको उपयोग करना चाहिए।

NavigationService को सिल्वरलाइट-देशी वर्ग होने का लाभ है, हालांकि PhoneApplicationFrame.Source WP के लिए विशिष्ट है।

+1

फ़ोन ऐप्लिकेशंस फ्रेम। स्रोत फ्रेम से विरासत में मिला है, और इस प्रकार विंडोज फोन के लिए विशिष्ट नहीं है। मैं अभी इसका परीक्षण नहीं कर सकता, लेकिन मुझे लगता है कि आप स्रोत संपत्ति का उपयोग करते समय पेज स्टैक के माध्यम से नेविगेट कर सकते हैं। नेविगेट विधि और स्रोत प्रॉपर्टी के बीच एक अंतर यह है कि आप उस पृष्ठ पर नेविगेट को कॉल नहीं कर सकते जो अभी तक लोड नहीं हुआ है, जबकि आप जब भी चाहें स्रोत प्रॉपर्टी सेट कर सकते हैं। –

+0

"आप उस पृष्ठ पर नेविगेट को कॉल नहीं कर सकते जिसे अभी तक लोड नहीं किया गया है"? क्या इसका मतलब यह है कि मैं उस पृष्ठ पर नेविगेट नहीं कर सकता जिसे कभी पहले नेविगेट नहीं किया गया है? बहुत ज्यादा उलझन। –

संबंधित मुद्दे