2014-07-25 5 views
10

मेरे पास Passing data from page to page के समान प्रश्न है, लेकिन केवल विंडोज फोन 8.1 (विंडोज फोन 7 के विपरीत) के लिए। यहां प्रश्न है:विंडोज फोन के लिए पेज से पेज पर डेटा पास करना 8.1

मैं पृष्ठ से पृष्ठ पर डेटा को पास करने के तरीके पर सबसे अच्छा अभ्यास ढूंढ रहा हूं।

पेज ए में मेरे पास एक बटन है जो पृष्ठ बी को बंद करता है पृष्ठ बी पर मेरे पास 6 टेक्स्टबॉक्स हैं जो उपयोगकर्ता को जानकारी दर्ज करने की अनुमति देते हैं।

निर्माण: जब उपयोगकर्ता किया जाता है, कि उन्हें पृष्ठ ए को वापस लाता है एक बटन पर क्लिक

मुझे लगता है कि डेटा पृष्ठ ए को वापस पारित करने के लिए

मैं करने के लिए सुझाव देखा है चाहता हूँ एक्सएमएल दस्तावेज और पृथक भंडारण को बचाने के लिए गुणों में जानकारी संग्रहीत करने के लिए ऐप क्लास का उपयोग करें इसे एक क्वेरी स्ट्रिंग जैसे पास करें, मैं सर्वोत्तम अभ्यास की तलाश में हूं। क्या कोई ऐसा है जो माइक्रोसॉफ्ट अनुशंसा करता है या जिसे आम तौर पर सबसे अच्छा तरीका माना जाता है?

धन्यवाद

उत्तर

16

WP8.1 क्रम में - के लिए सिल्वरलाइट, the methods used in WP8.0 अभी भी काम करना चाहिए - आप choces की जोड़ी:

  • पहली और शायद सबसे आसान तरीका Navigate with parameter उपयोग करने के लिए है - आपको इसे स्ट्रिंग में परिवर्तित करने की आवश्यकता नहीं है यदि यह एक क्रमिक प्रकार है:

    // let's assume that you have a simple class: 
    public class PassedData 
    { 
        public string Name { get; set; } 
        public int Value { get; set; } 
    } 
    
    // then you navigate like this: 
    Frame.Navigate(typeof(Page1), new PassedData { Name = "my name", Value = 10 }); 
    
    // and in target Page you retrive the information: 
    protected override void OnNavigatedTo(NavigationEventArgs e) 
    { 
        PassedData data = e.Parameter as PassedData; 
    } 
    
  • आप अनुप्रयोग के साथ

  • अंत में अपने डेटा को पारित करने के लिए कुछ स्थिर वस्तुओं उपयोग कर सकते हैं के रूप में आप का उल्लेख किया है आप में अपने डेटा को बचा सकते हैं: LocalSettings, LocalStorage, LocalCache - इस मामले में सोचा आपको इसे एक्सएएमएल, जेसन या अन्य को क्रमबद्ध करना होगा।

नोट आप भी संभाल करने के लिए करना होगा कि एप्लिकेशन निलंबित/शुरू करने - इसलिए जब ऐप निलंबित किया जा रहा है यह अपने डेटा को बचाने के लिए उपयुक्त हो सकता है और लोड जब यह फिर से शुरू किया है जाएगा। आपको याद रखना चाहिए कि ऑन नविगेटेड को ऐप फिर से शुरू होने पर नहीं कहा जा रहा है।


उपरोक्त सामान्य नेविगेशन (आगे) के बारे में था।

  • ताकि आप वर्तमान पृष्ठ से सार्वजनिक चर/गुण का उपयोग कर सकते हैं, पिछले पृष्ठ पर कोई हैंडलर गुजरती हैं,
  • उपयोग एक: आप पिछले पृष्ठ में कुछ डेटा को भरने के लिए चाहते हैं, तो आप विकल्पों में से एक जोड़ी स्थिर चर/संपत्ति - शायद एक सिंगलटन
  • फिर से फ़ाइलों का उपयोग/सेटिंग्स

ध्यान दें कि फिर से पहले दो तरीकों एक नुकसान ऐप निलंबित किए जाने के बाद क्रैश हो सकता है कि नहीं है।फाइलों को सहेजना बेहतर हो सकता है, सोचा कि कुछ और काम और उचित हैंडलिंग की जरूरत है।

+0

यदि हम एक से अधिक पैरामीटर पास करना चाहते हैं तो कौन सा दृष्टिकोण बेहतर है? –

+0

@ किन्जनभासर यह आपके मानकों के प्रकारों पर निर्भर करता है, वे कितने महत्वपूर्ण हैं और अन्य कार्यान्वयन। – Romasz

+0

मैं कक्षा की एक वस्तु और एक स्ट्रिंग पैरामीटर को पास करना चाहता हूं जो किसी अन्य वर्ग से है। –

0

--First --then आप मूल्य

Frame.Navigate(typeof(Frame2), new PassedData { email = emailtxt.Text }); 

फांसी --then मूल्य है कि एक और पेज

var passedData = e.Parameter as PassedData; 

emailtxt.Text = passedData.email; 
में गुजर पकड़ने पृष्ठों नेविगेट कर सकते हैं एक वर्ग

public class PassedData 
{ 
    public string email { get; set; } 
} 

बनाएं

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