जब कोई पृष्ठ Silverlight में नेविगेट किया जाता है तो आप इस विधि को ओवरराइड कर सकते हैं।चांदी के नेविगेशन अनुप्रयोग में बैक बटन या अग्रेषित बटन नेविगेशन का पता लगाने के लिए
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
}
NavigationEventArgs
एक NavigationMode
गणन जो
public enum NavigationMode
{
New = 0,
Back = 1,
Forward = 2,
Refresh = 3,
}
के रूप में परिभाषित किया गया है लेकिन बुला e.NavigationMode
हमेशा फेंकता है एक NotImplementedException
वहाँ एक पेज का पता लगाने के Silverlight में एक तरह से क्योंकि पर नेविगेट किया जा रहा है है उपयोगकर्ता ने आगे/पीछे ब्राउज़र बटन मारा।
जो मैं प्राप्त करने की कोशिश कर रहा हूं वह किसी प्रकार का राज्य है जिसे उपयोगकर्ता बैक बटन हिट करते समय संरक्षित किया जा सकता है।
उदाहरण के लिए मान लें कि आपके पास एक ग्राहक पृष्ठ है जो डेटाग्रिड में ग्राहकों की एक सूची दिखा रहा है। उपयोगकर्ता एक ग्राहक का चयन कर सकता है और एक विस्तृत दृश्य है जो उस ग्राहक के सभी ऑर्डर दिखाता है। अब ऑर्डर आइटम के भीतर आप एक हाइपरलिंक लिंक पर क्लिक कर सकते हैं जो आपको ऑर्डर के शिपिंग इतिहास पर ले जाता है जो एक अलग पृष्ठ है। जब उपयोगकर्ता बैक बटन हिट करता है तो मैं ग्राहकों के पृष्ठ पर वापस जाना चाहता हूं और वह ग्राहक चुन रहा हूं जिसे वह देख रहा था। क्या यह वास्तव में संभव है ?
मैं भी टुकड़ा नेविगेशन सुविधा
NavigationService.Navigate(new Uri("#currentcustomerid="
+ customer.Id.ToString(), UriKind.Relative));
बाहर करने की कोशिश की जब ग्राहक चयन परिवर्तन लेकिन उपयोगकर्ता ग्राहक पृष्ठ पर विभिन्न ग्राहकों क्लिक करता है यह इतिहास के लिए बहुत अधिक आइटम कहते हैं।
संपादित
वहाँ भी एक विधि आप
protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
{
}
जो NavigationService.Navigating घटना से निपटने के रूप में BugFinder के जवाब ने संकेत रूप में ही है ओवरराइड कर सकते हैं। इस विधि में e.NavigationMode
जब आप बैक या फॉरवर्ड बटन दबाते हैं तो हमेशा New
लौटाता है। केवल समय इस विधि रिटर्न Back
है जब आप स्पष्ट रूप से कहते हैं NavigationService.GoBack()
यहां तक कि जब आप बैक या फॉरवर्ड बटन दबाते हैं। ** नेविगेशन मोड ** इस विधि में हमेशा 'NavigationMode.New' है। –