2014-10-08 9 views
5

का उपयोग करके Xamarin.Forms में यूआई डिज़ाइन कर सकता हूं। मैं Xamarin.Forms का उपयोग करके एक क्रॉस प्लेटफ़ॉर्म ऐप बनाने की कोशिश कर रहा हूं। जहां तक ​​मुझे पता है, यूआई कोड से बनाया जाएगा और .axml फ़ाइल स्वचालित रूप से जेनरेट की जाएगी।क्या मैं XAML

क्या मैं यूआई को संपादित करने के लिए .axml फ़ाइल को संशोधित कर सकता हूं? मैंने संपादन करने की कोशिश की लेकिन जो कुछ आता है वह कोड में लिखा गया है। अर्थात्: hello forms

अद्यतन

public static Page GetMainPage() 
     { 
      return new simplerow(); 
     } 
+0

आपके अपडेट से यह कहना मुश्किल है कि क्या/काम नहीं कर रहा है। अगर आप अपनी परियोजना में भेजना चाहते हैं तो मैं एक नज़र डालेगा? मेरा संपर्क विवरण मेरी प्रोफाइल पर हैं। – Pete

+0

@Pete मैं कल यहां पूरा कोड पोस्ट करूंगा। आपकी मदद के लिए धन्यवाद :) – techno

+0

@Pete यहां xamarin.forms प्रोजेक्ट का लिंक है https://www.dropbox.com/s/myhuun5fp3rrd70/testforms.zip?dl = 0 – techno

उत्तर

7

में Xamarin.Forms आप सभी प्लेटफॉर्म पर साझा की गई मार्कअप परिभाषाओं से अपने पेज बना सकते हैं।

आमतौर पर आप Xamarin.Forms का उपयोग करके अपने सभी सामग्री पृष्ठों को लिखेंगे, हालांकि आप मूल पृष्ठों को किसी एप्लिकेशन में मिश्रित और मिलान कर सकते हैं, जो आपको चाहिए।

इन साझा आम पृष्ठों, Xamarin.Forms में लिखा, शायद एक पीसीएल परियोजना में निवास करेंगे, या एक साझा परियोजना इसलिए इन तो प्लेटफ़ॉर्म-विशिष्ट परियोजनाओं में फिर से इस्तेमाल किया जा सकता, प्रत्येक लक्ष्यीकरण एक विशिष्ट प्लेटफ़ॉर्म ओएस

आप या इन आम पृष्ठों लिख सकते हैं, या तो कोड में, में XAML। आप कुछ पेजों को एक तरह से लिखना भी चुन सकते हैं, और कुछ अन्य यदि आप चुनते हैं तो भी।

Xamarin.Forms पृष्ठ को बनाई गई पेज संरचना की व्याख्या के माध्यम से रनटाइम पर संसाधित किया जाता है।

प्रत्येक पृष्ठ पर निर्दिष्ट प्रत्येक नियंत्रण में दृश्यों के पीछे अपना स्वयं का प्लेटफ़ॉर्म विशिष्ट रेंडरर होता है, जो उस आउटपुट का उत्पादन करेगा जो उस ओएस पर लक्षित है।

जब Xamarin.Forms पृष्ठों लेखन, के लिए-सबसे, आप पृष्ठों है कि प्रत्येक अलग मंच ओएस पर मोबाइल अनुप्रयोग बनाने की पेचीदगियों से निकाला गया है बनाने का एक नया तरीका जानने के लिए शुरू कर देंगे।

कोई संपादन योग्य .axml जाता है कि उत्पन्न आदि के रूप में आप Xamarin.Forms का उपयोग कर मार्कअप और नियंत्रण अपने पृष्ठों लिखेंगे, और यहां तक ​​कि अपने खुद के या अन्य कस्टम नियंत्रण अपने खुद के आवेदन पृष्ठ प्रस्तुत किए इसलिए भी नहीं है ।

निम्नलिखित linkXAML पृष्ठों को लिखने के कुछ उदाहरण दिखाता है।

निम्नलिखित linkकोड-पीछे पृष्ठों से लिखने के कुछ उदाहरण दिखाता है।

+0

उत्तर के लिए धन्यवाद, इससे चीजें बहुत स्पष्ट हो जाती हैं। देर से प्रतिक्रिया के लिए क्षमा करें। – techno

1

तुम गलत समझ लिया। फॉर्म या तो कोड या एक्सएएमएल के माध्यम से बनाए जाते हैं। मंच स्तर पर कोई भी axml या कुछ भी लगातार उत्पन्न नहीं होता है, सब कुछ रनटाइम में किया जाता है (XAML संकलन समय पर संकलित प्रकार है)।

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

+0

धन्यवाद। इसलिए यदि मुझे Xamarin.Forms ऐप बनाना है, तो मैं XAML का उपयोग करके यूआई बना सकता हूं यानी मुख्य संपादन करके। axml फ़ाइल जैसा कि हम एंड्रॉइड ऐप में करते हैं। लेकिन मैंने इस तरह संशोधित किया है और परिवर्तन परिलक्षित नहीं होता है, जो कुछ आता है वह मूल हैलो फॉर्म संदेश है। अगर आपको कोड – techno

+1

कोड की आवश्यकता है तो कृपया मुझे बताएं, कोई axml नहीं है। एक्सएएमएल फॉर्म के लिए मंच अज्ञेयवादी है। [यहां और पढ़ें] (http://developer.xamarin.com/guides/cross-platform/xamarin-forms/xaml-for-xamarin-forms/) –

+0

"(एक्सएएमएल संकलन समय पर संकलित प्रकार है)" प्रकार है गलत का :) –

2

पिछले उत्तर के साथ: .xml के बजाय .xaml, आपको अपने नए .xaml फ़ॉर्म का उपयोग करने के लिए app.cs में स्टार्टअप कोड बदलने की याद रखना होगा। "नया ContentPage {...};" बदलें "नया माईफॉर्म();" (जहां "माईफॉर्म" आपके चमकदार नए एक्सएएमएल फॉर्म का नाम है)।

संपादित करें: ड्रॉपबॉक्स लिंक से प्रोजेक्ट डाउनलोड किया गया। नीचे टिप्पणियां ...

मुझे यहां कई समस्याएं दिखाई देती हैं। मुझे लगता है कि XF ऐप्स के पीछे अवधारणाओं के साथ गति प्राप्त करने के लिए आपको Xamarin द्वारा प्रदान की गई walkthroughs और नमूना अनुप्रयोगों के माध्यम से जाने की आवश्यकता हो सकती है।

सबसे पहले, आप अपने एप्लिकेशन के पृष्ठ के रूप में गतिविधि का उपयोग करने की कोशिश कर रहे हैं। एक एक्समरिन फॉर्म ऐप में, यह कुछ प्रकार का दृश्य होना चाहिए, प्लेटफॉर्म-विशिष्ट दृश्य जैसे कि गतिविधि।

दूसरा, अपने एंड्रॉइड प्रोजेक्ट के संसाधन/लेआउट फ़ोल्डर से "test.xml" फ़ाइल को हटा दें; जबकि एक्सएएमएल फाइलें वास्तव में एक्सएमएल हैं, उनके पास 1 है) .xaml का फ़ाइल एक्सटेंशन और 2) साझा प्रोजेक्ट में हैं। (मैं आप वी.एस. उपयोग कर रहे हैं यहाँ, Xamarin स्टूडियो के तहत यह सोचते कर रहा हूँ, यह थोड़ा अलग है।)

  1. राइट-क्लिक करें अपने "testforms":

    यहाँ आप अपनी परियोजना के काम कर पाने के लिए क्या करने की जरूरत है साझा परियोजना

  2. क्लिक करें (जैसे कि "MyForm" के रूप में) संदर्भ मेनू से जोड़े और "नया आइटम"
  3. दिखाई देने वाले संवाद में, "फार्म XAML पृष्ठ" और नाम क्षेत्र में एक नाम दर्ज करें (अगर आप एक्सएस का उपयोग कर रहे हैं, "नई फ़ाइल" और "फॉर्म सामग्रीपेज" चुनें)
  4. टी उसकी इच्छा आपके प्रोजेक्ट में दो फाइलें जोड़ती है: एक एक्सएएमएल फ़ाइल जिसमें आपका लेआउट होता है (उदा .: MyForm.xaml), और कोड-बैक फ़ाइल (उदा .: MyForm.xaml.cs)।
  5. ओपन XAML फाइल, और लेबल तत्व को संशोधित इतना है कि पाठ विशेषता

    पाठ = कि "नमस्कार, दुनिया!"

  6. निम्नलिखित करने के लिए अपने App.cs में GetMainPage के शरीर संशोधित करें:

    वापसी नई MyForm();

  7. एप्लिकेशन

आशा इस मदद करता है भागो!

+0

इसे इंगित करने के लिए धन्यवाद। आखिरकार मैं एक्सएएमएल का उपयोग कर सकता हूं जिसे मैं यूआई डिज़ाइन करने के लिए जानता हूं :) – techno

+0

मैंने कोशिश की और simpleerow.xml से ui बनाने के लिए app.cs फ़ाइल में कोड अपडेट किया। लेकिन सरलता पहचान नहीं है। कृपया अद्यतन देखें। – techno

+0

क्या यह संकलन करने में असफल रहा है? आपका एक्सएएमएल कैसा दिखता है? क्या आपने नामस्थान शामिल किया है कि आपके फॉर्म का कोडबेइंड क्लास है? –