शुरुआती लोगों के लिए WPF ट्यूटोरियल: एप्लिकेशन कैसे बनाएं [उदाहरण]
डब्ल्यूपीएफ क्या है?
WPF निर्माण के लिए एक रूपरेखा है Windows ऐसे अनुप्रयोग जो उपयोगकर्ताओं को कम कोड जटिलता के साथ 3D एनिमेशन और समृद्ध रंग वाले समृद्ध उपयोगकर्ता इंटरफ़ेस विकसित करने की अनुमति देते हैं। यह एक वेक्टर-आधारित रेंडरिंग इंजन है जो आधुनिक ग्राफ़िक्स कार्ड के हार्डवेयर त्वरण का उपयोग करता है, जो Ul को तेज़ और अत्यधिक स्केलेबल बनाता है। WPF का मतलब है Windows प्रस्तुतिकरण Foundation.
WPF को WinForms का एक विकास माना जा सकता है। यह संचालित करने में आसान ग्राफिकल डिस्प्ले सिस्टम बनाता है Windowsयह यूआई और व्यावसायिक तर्क के बीच आसान पृथक्करण प्रदान करता है।
WPF अनुप्रयोगों को आपके सिस्टम में एक स्टैंडअलोन डेस्कटॉप प्रोग्राम के रूप में तैनात किया जा सकता है या किसी वेबसाइट में एम्बेडेड ऑब्जेक्ट के रूप में होस्ट किया जा सकता है।
WPF क्यों?
WPF प्लेटफॉर्म का उपयोग करने के कई कारण हैं जिनमें से कुछ प्रमुख हैं-
- यदि आपको विभिन्न मीडिया प्रकारों से निपटने की आवश्यकता है तो यह एक आदर्श मंच है
- WPF आपको स्किन्ड यूजर इंटरफ़ेस बनाने की अनुमति देता है। यह तब भी आपकी मदद करता है जब आपको UI का हिस्सा लोड करना हो या XML डेटा को बाइंड करना हो
- यह आपको बड़ी .NET क्लास लाइब्रेरी का लाभ उठाने की अनुमति देता है क्योंकि यह बनाया गया है .NET प्रौद्योगिकी
- रिज़ॉल्यूशन स्वतंत्रता, इसलिए WMF का उपयोग करके विकसित अनुप्रयोगों को मोबाइल डिवाइस या 20-इंच मॉनिटर पर चलाया जा सकता है
- WPF WinAPI के बजाय DirectX पर आधारित है। यह क्लाइंट कंप्यूटर के ग्राफ़िक्स सिस्टम को प्रदान करता है। इसलिए, यह अधिक ग्राफ़िक रेंडरिंग शक्ति प्रदान करता है
- एक प्रवाह दस्तावेज़ मॉडल का समर्थन करता है जो लेआउट की "डेस्कटॉप प्रकाशन" गुणवत्ता को सक्षम करता है
- दिखावट और व्यवहार एक दूसरे से बहुत अलग हैं। इससे डिज़ाइनर और डेवलपर्स दो अलग-अलग मॉडल पर काम कर सकते हैं
- WMF फ्रेमवर्क में आप कोड पार्स करने के बजाय सरल XML दस्तावेज़ों पर ग्राफ़िक रूप से उपकरण डिज़ाइन कर सकते हैं
- बेहतर प्रदर्शन के लिए आपको GUI को आरेखित करने के लिए हार्डवेयर त्वरण का उपयोग करने की अनुमति देता है
WPF का इतिहास
Windows 1.0 पहला GUI वातावरण था Microsoftयह DOS के शीर्ष पर एक परत के रूप में काम कर रहा है, जो ग्राफिक और यूजर इंटरफेस के लिए GDI और USER सिस्टम पर निर्भर है।
डायरेक्टएक्स को वर्ष 1995 में एक उच्च-प्रदर्शन ग्राफिक्स सिस्टम के रूप में पेश किया गया था। इसका उद्देश्य गेम और अन्य ग्राफिक्स से संबंधित वातावरणों को ध्यान में रखना था। पिछले कुछ वर्षों में डायरेक्टएक्स9 के साथ कई संस्करण जारी किए गए हैं जो mange.Net कोड के साथ उपयोग करने के लिए एक लाइब्रेरी प्रदान करते हैं।
WPF संस्करण | रिहाई का वर्ष | .नेट संस्करण | विज़ुअल स्टूडियो संस्करण | विशेषताएं |
---|---|---|---|---|
3.0 | 2006 | 3.0 | एन / ए | आरंभिक रिलीज। हालाँकि, WPF विकास VS 2005 के साथ किया जा सकता है। |
3.5 | 2007 | 3.5 | वीएस 2008 | इसमें संशोधन एवं सुधार: अनुप्रयोग मॉडल, बाइंडिंग, नियंत्रण, दस्तावेज़, एनोटेशन और 3-डी उल तत्व। |
3.5 SP1 | 2008 | 3.5 SP1 | एन / ए | मूल स्प्लैश स्क्रीन समर्थन। नया वेब ब्राउज़र नियंत्रण, डायरेक्टएक्स पिक्सेल शेडर समर्थन। |
4.0 | 2010 | 4.0 | वीएस 2010 | नए नियंत्रण: कैलेंडर. डेटाग्रिड, डेटपिकर. मल्टी-टच और मैनिपुलेशन |
4.5 | 2012 | 4.5 | वीएस 2012 | बिटमैप प्रभावों के लिए तेज़ सेटअप समय और बेहतर प्रदर्शन। नए नियंत्रण: कैलेंडर। डेटाग्रिड, डेटपिकर। मल्टी-टच और मैनिपुलेशन |
4.5.1 | 2013 | 4.5.1 | वीएस 2013 | नया रिबन नियंत्रण नया INotifyDataErrorlnfo इंटरफ़ेस |
4.5.2 | 2014 | 4.5.2 | NA | कोई बड़ा परिवर्तन नहीं कोई बड़ा परिवर्तन नहीं |
4.6 | 2015 | 4.6 | वीएस 2015 | पारदर्शी चाइल्ड विंडो का समर्थन एचडीपीआई और टच सुधार |
WPF का नवीनतम स्थिर संस्करण 5.0.6 जो अप्रैल 2021 में जारी किया गया है।
WPF की विशेषताएं

- दस्तावेज़ और मुद्रण
- सुरक्षा, पहुंच और स्थानीयकरण
- के साथ अंतरसंचालनीयता प्रदान करता है Windows फॉर्म नियंत्रण
- डायरेक्ट3डी का उपयोग ग्राफिकल अनुप्रयोगों में किया जाता है जहां प्रदर्शन महत्वपूर्ण होता है
- रेंडरिंग के लिए वीडियो कार्ड हार्डवेयर का उपयोग करता है
- वेक्टर-आधारित ग्राफिक्स आपको गुणवत्ता की हानि के बिना अपने एप्लिकेशन को स्केल करने की अनुमति देता है
- WPF फ्लोटिंग-पॉइंट लॉजिकल पिक्सेल सिस्टम और 32-बिट ARGB रंग का समर्थन करता है
- शैलियाँ और नियंत्रण टेम्पलेट पुनः परिभाषित करें
- संयुक्त फ़ॉन्ट से अंतर्राष्ट्रीय फ़ॉन्ट का निर्माण
- WPF टेक्स्ट रेंडरिंग आपको क्लियरटाइप तकनीक का लाभ उठाने में मदद करता है
- आपको वीडियो मेमोरी में प्री-रेंडर किए गए टेक्स्ट की कैशिंग तकनीक का उपयोग करने की अनुमति देता है
- प्रत्येक नियंत्रण के लिए संसाधन-आधारित दृष्टिकोण
- प्रस्तुति टाइमर WPF द्वारा आरंभीकृत और प्रबंधित किए जाते हैं
- वीडियो और एनीमेशन के बीच संबंध भी समर्थित है
- WPF में स्टाइल गुणों का एक समूह है जिसे दृश्य रेंडरिंग के लिए उपयोग की जाने वाली सामग्री पर लागू किया जाना चाहिए
- WPF में टेम्पलेट्स आपको अपने दस्तावेज़ का Ul बदलने में मदद करता है
- आदेश घटनाओं का अधिक अमूर्त और शिथिल रूप से युग्मित संस्करण हैं
- कमांड के लिए WPF समर्थन हमें लिखने के लिए आवश्यक कोड की मात्रा को कम करता है
इस WPF में अगला सी# ट्यूटोरियल, हम WPF कोर प्रकार और बुनियादी ढांचे के बारे में जानेंगे।
WPF कोर प्रकार और अवसंरचना
WPF में क्लासेस को चार अलग-अलग प्रकारों में विभाजित किया गया है:
- यूआईएलिमेंट
- फ्रेमवर्कएलिमेंट
- सामग्रीतत्व
- फ्रेमवर्कसामग्रीतत्व
इन क्लासों को बेस एलिमेंट क्लास के नाम से जाना जाता है। यह यूजर इंटरफेस बनाने के मॉडल के लिए आधार प्रदान करता है।
WPF यूजर इंटरफेस ऐसे तत्वों से बने होते हैं जो एक ट्री पदानुक्रम में इकट्ठे होते हैं। इसे एलिमेंट ट्री कहा जाता है। एलिमेंट ट्री यूजर इंटरफेस को लेआउट करने का एक सहज तरीका है। यह एक संरचना है जो आपको शक्तिशाली UI सेवाओं की सुविधा प्राप्त करने की अनुमति देती है।
एक्सएएमएल
एक्सटेंसिबल एप्लीकेशन मार्कअप लैंग्वेज जिसे "XAML" या "ज़ैममेल" कहा जाता है, उपयोगकर्ता इंटरफेस को परिभाषित करने का एक घोषणात्मक तरीका है।
यहाँ एक सरल बटन की XAML परिभाषा दी गई है:
<Button FontSize="16" HorizontalAlignment="Center" VerticalAlignment="Center" > Say Hello Guru99</Button>
XAML भाषा का उपयोग करने के लाभ:
- XAML फ्रंट-एंड उपस्थिति को बैक-एंड लॉजिक से अलग करता है
- XAML उपयोगकर्ता इंटरफेस को दर्शाने का सबसे आसान तरीका है
- XAML टूल के साथ प्रभावी ढंग से काम करता है
नियंत्रण
WPF फ्रेमवर्क कई उपयोगी नियंत्रणों का समर्थन करता है जैसे:
- टेक्स्ट जैसे संपादन नियंत्रणBox, जाँच करनाBox, रेडियो की बटन
- सूची नियंत्रण जैसे सूचीBox, सूची दृश्य, वृक्ष दृश्य
- उपयोगकर्ता जानकारी जैसे लेबल, WPF प्रोग्रेसबार, टूलटिप
- मेनू, बटन और टूलबार जैसी क्रियाएँ
- बॉर्डर, WPF इमेज और व्यूबॉक्स जैसी उपस्थितियाँ
- सामान्य संवाद बॉक्स जैसे OpenFileDialog और PrintDialog.
- कंटेनर जैसे कि टैबकंट्रो, स्क्रॉलबार और ग्रुपBox
- DocPanel, StackPanel, और Grid जैसे लेआउट
- फ़्रेम और हाइपरलिंक जैसे नेविगेशन
नियंत्रणों की उपस्थिति को प्रोग्रामिंग के बिना शैलियों और टेम्पलेट्स के साथ अनुकूलित किया जा सकता है। आप किसी उपयुक्त बेस क्लास से एक नया क्लास प्राप्त करके कस्टम नियंत्रण भी बना सकते हैं।
उपस्थिति
WPF आपके एप्लिकेशन के स्वरूप को अनुकूलित करने के लिए एक सुविधा प्रदान करता है। यह आपको फ़ॉन्ट, पृष्ठभूमि आदि जैसी चीज़ों के लिए ऑब्जेक्ट और मान सेट करने की अनुमति देता है।
स्टाइल सुविधा आपको पूरे उत्पाद के लिए एक विशिष्ट लुक पर मानकीकरण करने की अनुमति देती है। यह आपको डिफ़ॉल्ट व्यवहार को बनाए रखते हुए डिफ़ॉल्ट उपस्थिति को बदलने की अनुमति देता है।
डेटा टेम्प्लेट आपको बाउंड डेटा के डिफ़ॉल्ट विज़ुअलाइज़ेशन को नियंत्रित करने की अनुमति देता है। थीम की मदद से, आप ऑपरेटिंग सिस्टम से आसानी से स्टाइल को विज़ुअलाइज़ कर सकते हैं।
लेआउट और पैनल
लेआउट आपको उचित स्थिति और आकार नियंत्रण में मदद करता है। यह उपयोगकर्ता के लिए प्रस्तुति तैयार करने की प्रक्रिया का हिस्सा है। WPF फ्रेमवर्क लेआउट प्रक्रिया को आसान बनाता है और UI उपस्थिति की बेहतर अनुकूलनशीलता प्रदान करता है।
लेआउट इंफ्रास्ट्रक्चर विभिन्न वर्गों द्वारा पेश किया जाता है 1) स्टैकपैनल 2) डॉकपैनल 3) रैपपैनल 4) ग्रिड और 5) Canvas
ग्राफिक्स
WPF एक बेहतर ग्राफिक्स प्रणाली प्रदान करता है जैसे
- WPF डिवाइस-स्वतंत्र इकाइयों का उपयोग करता है, जिससे रिज़ॉल्यूशन और डिवाइस स्वतंत्रता सक्षम होती है। इसलिए, प्रत्येक पिक्सेल, जो डिवाइस-स्वतंत्र है, स्वचालित रूप से डॉट्स-प्रति-इंच सेटिंग सिस्टम के साथ स्केल हो जाता है
- WPF फ्लोट के स्थान पर डबल का उपयोग करता है और रंगों की एक विस्तृत श्रृंखला का समर्थन करता है
- WPF ग्राफ़िक्स इंजन को इस तरह से डिज़ाइन किया गया है कि यह उपलब्ध होने पर ग्राफ़िक्स हार्डवेयर का लाभ उठा सकता है
दस्तावेज़ और मुद्रण
WPF फ्रेमवर्क तीन प्रकार के दस्तावेज़ प्रदान करता है:
- निश्चित दस्तावेज: इस प्रकार का दस्तावेज़ WY का समर्थन करता हैSIWYG प्रस्तुति.
- प्रवाह दस्तावेज़: आपको विंडो आकार और डिवाइस रिज़ॉल्यूशन जैसे रन-टाइम चर के आधार पर सामग्री को समायोजित और पुनः प्रवाहित करने की अनुमति देता है।
- एक्सपीएस दस्तावेज़: यह XML-आधारित प्रारूप में इलेक्ट्रॉनिक पेपर का पृष्ठांकित प्रतिनिधित्व है। XPS एक ओपन सोर्स और क्रॉस-प्लेटफ़ॉर्म दस्तावेज़ प्रारूप है।
WPF प्रिंट सिस्टम पर बेहतर नियंत्रण सक्षम बनाता है। इसमें रिमोट प्रिंटिंग और कतारें शामिल हैं। इसके अलावा, XPS दस्तावेज़ों को प्रिंट प्रारूप में परिवर्तित किए बिना सीधे प्रिंट किया जा सकता है।
WPF Archiटेक्चर
WPF .NET फ्रेमवर्क का एक हिस्सा है। इसमें प्रबंधित और अप्रबंधित दोनों तरह के कोड होते हैं। WPF आर्किटेक्चर के महत्वपूर्ण घटकों को नीचे दिए गए चित्र में समझाया गया है:

WPF आर्किटेक्चर के घटक
- प्रस्तुति ढांचा: आपको नियंत्रण, शैलियाँ, लेआउट, विंडो आदि जैसे शीर्ष-स्तरीय तत्व बनाने में मदद करता है।
- प्रेजेंटेशनकोर: यह सभी नियंत्रणों से UIElement, Visual जैसे आधार प्रकार रखता है और आकार PresentationFramework.dll में व्युत्पन्न होते हैं।
- CLR: यह निम्नलिखित जैसी सुविधाएँ प्रदान करके विकास प्रक्रिया को उत्पादक बनाता है स्मृति प्रबंधन, त्रुटि प्रबंधन, आदि.
- मिलकोर: मिलकोर अप्रबंधित कोड का एक हिस्सा है जो डायरेक्टएक्स के साथ सुदृढ़ एकीकरण प्रदान करता है।
- इंटरनेट: यह निम्न-स्तरीय API है जो WPF के ग्राफिक्स को रेंडर करने की अनुमति देता है। डायरेक्टएक्स टॉक ड्राइवरों के साथ इंटरैक्ट करता है और कंटेंट को रेंडर करता है।
- उपयोगकर्ता32: यह एक कोर एपीआई है जिसका व्यापक रूप से कई कार्यक्रमों द्वारा उपयोग किया जाता है। यह मेमोरी और प्रक्रिया पृथक्करण का प्रबंधन करता है। User32 आपको यह तय करने में मदद करता है कि स्क्रीन पर कौन सा तत्व कहाँ रखा जाएगा।
- गिरी: इनपुट कर्नेल मोड डिवाइस ड्राइवर पर एक सिग्नल के रूप में उत्पन्न होता है और सही प्रक्रिया तक पहुंच जाता है और इसके साथ जुड़कर Windows कर्नेल और User32.
WPF स्थापना
WPF स्थापित करने के लिए इस लिंक का संदर्भ लें https://www.guru99.com/download-install-visual-studio.html
इस WPF अनुप्रयोग ट्यूटोरियल में आगे, हम अपना पहला WPF बनाएंगे।
अपना पहला WPF एप्लीकेशन कैसे बनाएं?
इस WPF उदाहरण में, हम एक बुनियादी WPF एप्लिकेशन विकसित करेंगे। तो, आइए नीचे दिए गए WPF एप्लिकेशन उदाहरणों में दिए गए चरणों का पालन करके सरल कार्यान्वयन शुरू करें।
चरण 1) विज़ुअल स्टूडियो में फ़ाइल > प्रोजेक्ट पर जाएँ
चरण 2) नई परियोजना विंडो में
- WPF ऐप चुनें
- नाम “MyWPF” के रूप में दर्ज करें
- ठीक क्लिक करें
चरण 3) Visual Studio डिफ़ॉल्ट रूप से दो फ़ाइलें बनाता है
- XAML फ़ाइल (MainWindow.xaml)
- CS फ़ाइल (MainWindow.xaml.cs)
MainWindow.xaml में है
- एक डिज़ाइन विंडो
- XAML फ़ाइल
XAML विंडो में, निम्नलिखित टैग डिफ़ॉल्ट रूप से लिखे जाते हैं
ग्रिड डिफ़ॉल्ट रूप से पहला तत्व है।
MainWindow.xaml.cs में XAML डिज़ाइन फ़ाइल के पीछे संबंधित कोड होता है
चरण 4) टूलबॉक्स में,
- पाठ खींचेंBox डिज़ाइन विंडो में तत्व
- एक पाठBox डिज़ाइन विंडो में दिखाई देगा
- आपको टेक्स्ट के लिए XAML कोड दिखाई देगाBox जोड़ा
चरण 5) पाठ को “पहला WPF प्रोग्राम” में बदलें।
चरण 6) स्टार्ट बटन पर क्लिक करें
चरण 7) आपको आउटपुट पर एक विंडो दिखाई देगी
बधाई हो! आपने अपना पहला WPF एप्लीकेशन डिज़ाइन और बनाया है। आगे इस WPF फॉर बिगिनर्स ट्यूटोरियल में, हम WPF और WinForms के बीच अंतर देखेंगे।
WPF बनाम WinForms
WPF | विनफॉर्म्स |
---|---|
यह एक नया ढांचा है, इसलिए यह वर्तमान मानकों के अधिक अनुरूप है। | यह पुराना है, इसलिए अधिक आजमाया हुआ और परखा हुआ है। |
यह लचीला और सुविधाओं से भरपूर है। आप बिना कोडिंग या नियंत्रण खरीदे बहुत ही समृद्ध एप्लिकेशन डिज़ाइन कर सकते हैं। | बहुत अधिक सुविधा संपन्न नहीं |
3 के डेवलपर्सrd पार्टी नियंत्रण WPF के साथ संगतता पर केंद्रित हैं क्योंकि यह भविष्य है। | ऐसे कई तृतीय-पक्ष नियंत्रण हैं जिन्हें आप खरीद सकते हैं या मुफ्त में प्राप्त कर सकते हैं। |
XAML आपको अपना GUI आसानी से बनाने और संपादित करने की अनुमति देता है। यह काम को डिज़ाइनर (XAML) और प्रोग्रामर (C#, ASP.net, आदि) के बीच विभाजित करने की अनुमति देता है। | In Windows लिखे गए सभी कोड को एक ही स्थान पर एकत्रित करता है। |
WPF दोनों के लिए उपयोगकर्ता इंटरफेस बना सकता है Windows अनुप्रयोग और वेब अनुप्रयोग जैसे सिल्वरलाइट और एक्सबीएपी। | ऐसा कोई समर्थन नहीं |
WPF का इन-बॉक्स नियंत्रण सूट सीमित है | इन-बॉक्स नियंत्रण बहुत शक्तिशाली हैं |
WPF के साथ निर्मित अनुप्रयोगों के प्रकार
- WPF वेबफॉर्म और विंडोज़ फॉर्म को बदलने की कोशिश कर रहा है - ऐप्स को ब्राउज़र या स्टैंडअलोन विंडो में चलाने के लिए बनाया जा सकता है
- Windows फॉर्म और WPF पेज एक ही एप्लीकेशन में सह-अस्तित्व में रह सकते हैं
- आप पेज/विंडो अनुप्रयोग विकसित कर सकते हैं
त्वरित गाइड
- WPF का पूर्ण रूप है Windows प्रस्तुतिकरण Foundation
- यदि आपको विभिन्न मीडिया प्रकारों से निपटने की आवश्यकता है तो यह उपयोग करने के लिए एक आदर्श मंच है
- Windows 1.0 पहला GUI वातावरण था Microsoft जो DOS पर काम कर रहा था और GDI और USER सिस्टम पर निर्भर था
- .NET में WPF इंटरऑपरेबिलिटी प्रदान करता है Windows फॉर्म नियंत्रण
- WPF को चार अलग-अलग प्रकारों में विभाजित किया गया है जैसे UIElement, FrameworkElement ContentElement और FrameworkContentElement
- WPF आर्किटेक्चर के सबसे महत्वपूर्ण घटक हैं प्रेजेंटेशनफ्रेमवर्क, प्रेजेंटेशनकोर, सीएलआर, मिलकोर, डायरेक्टएक्स, यूजर32 और कर्नेल
- WPF एक नया फ्रेमवर्क है जो WinForms की तुलना में अधिक है, इसलिए यह वर्तमान मानकों के अनुरूप है
- Windows फॉर्म और WPF पेज एक ही एप्लीकेशन में सह-अस्तित्व में रह सकते हैं