2009-06-04 9 views
10

मुझे हाल ही में पता चला है कि मैं अपने मुख्य एप्लिकेशन की .xaml फ़ाइल के आकार को कम करने के लिए उपयोगकर्ता नियंत्रण का उपयोग कर सकता हूं। मैं डब्ल्यूपीएफ के लिए नया हूं और महसूस किया कि मेरे ऐप का एक्सएएमएल बहुत लंबा, बहुत तेज़ हो रहा है और स्क्रॉल करने के लिए बोझिल है।मेरे आवेदन में बड़ी एक्सएएमएल फाइलों को तोड़ने का सबसे आसान तरीका क्या है?

उपयोगकर्ता इस समस्या को हल करने का सबसे अच्छा तरीका नियंत्रित करता है (यानी बहुत से उपयोगकर्ता नियंत्रण और उनके टेम्पलेट्स एक अलग नियंत्रण पुस्तकालय में हैं)?

आप अपने एक्सएएमएल का प्रबंधन कैसे करते हैं?

अग्रिम धन्यवाद!

उत्तर

9

आप सही हैं कि विभाजित चीजों को पृथक नियंत्रण में अलग-अलग xaml फ़ाइलों के आकार को कम करने में मदद मिल सकती है। फ़ाइलों के आकार को कम करने का दूसरा तरीका ResourceDictionaries का उपयोग करना है। जब आप अलग-अलग संसाधनों में अपने स्टाइल, टेम्पलेट्स और संसाधनों को विभाजित करते हैं तो यह आपकी विंडो और नियंत्रण की xaml फ़ाइलों के आकार को बहुत कम कर सकता है। एक बार सामान विभाजित हो जाने पर, आप कहीं भी जहां चाहें शैलियों और टेम्पलेट तक पहुंचने के लिए MergedDictionaries सुविधा का उपयोग कर सकते हैं। यदि एकाधिक खिड़कियों और नियंत्रणों में एक विशिष्ट संसाधन का उपयोग किया जाता है, तो आप इसके संसाधन संसाधन को App.xaml संसाधनों में भी विलय कर सकते हैं, इस प्रकार इसे समाधान में किसी भी स्थान से उपयोग करने की अनुमति मिलती है।

व्यक्तिगत रूप से, मैं प्रत्येक एक्सएएमएल फ़ाइल को ~ 300 या उससे कम लाइनों तक रखना चाहता हूं, उस बिंदु के बाद मैं देखता हूं कि मुझे बेहतर तरीके से व्यवस्थित करना चाहिए या नहीं। Here आपके संसाधनों को व्यवस्थित रखने के तरीके के बारे में कुछ अतिरिक्त जानकारी और सुझाव हैं।

+0

मैं संसाधन शब्दकोश का उपयोग करने में देखता हूं। मुझे पता था कि संगठन का कुछ रूप होना था जिसे मैं देख रहा था। आपकी सहायता के लिए धन्यवाद। – stevosaurus

+0

अतिरिक्त जानकारी लिंक मर चुका है, लेकिन [यहां] (http://web.archive.org/web/20100629015119/http://groups.google.com.au/group/wpf-disciples/web/wpf-and- xaml-codeing-दिशानिर्देश) यह WayBackMachine में है। –

1

इसके अलावा थीमिंग/स्टाइलिंग के लिए नियंत्रण/व्यक्तिगत स्तर पर शैलियों को डालने से बचें, बल्कि थीम.एक्सएएमएल स्किनिंग को सीधे संभाल लें, इस तरह आपके पास एक्समल के अंदर स्टाइलिंग जानकारी का ब्लोट नहीं है।

यानी <MyControl Style="{StaticResource myControlStyle}"/> सीधे स्टाइल myControl पर विषय फ़ाइल में, कि जिस तरह से लगाने से बचा जा सकता है आप केवल Window.xaml में <MyControl/> है

+0

इस प्रकार मैं वर्तमान में अपने उपयोगकर्ता नियंत्रण के साथ ऐसा कर रहा हूं। बहुत बहुत धन्यवाद! – stevosaurus

1

उपयोगकर्ता नियंत्रण से बाहर कोड को अलग करने के लिए एक बहुत अच्छा तरीका है मुख्य खिड़की। अस्वीकार करने के अलावा, वे अन्य फायदे भी प्रदान करते हैं जैसे कोड को मॉड्यूलर करना और कोड के उस खंड में सीमित इंटरफ़ेस प्रदान करना, जो रखरखाव में सुधार करने में मदद करता है और स्पेगेटी कोड को रोकने में मदद करता है।

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

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