2010-08-30 12 views
6

विश्वविद्यालय में हम विंडोज फॉर्म का उपयोग करते हुए .NET (दोनों वीबी और सी #) सिखाते हैं। हम अपने उन्नत पाठ्यक्रम में विंडोज प्रेजेंटेशन फाउंडेशन (डब्ल्यूपीएफ) की अवधारणा को पेश करना चाहते हैं। WPF के बुनियादी ज्ञान प्राप्त करने के लिए छात्रों को कौन सी बुनियादी बातों को सीखने की आवश्यकता है?डब्ल्यूपीएफ बुनियादी बातों?

विचार यह है कि छात्र कम से कम छह में से एक में डब्ल्यूपीएफ का उपयोग करें, और इन सभी WPF Fundamentals को सीखना थोड़ा मुश्किल लगता है। कौन सी तीन-चार मूल बातें अनिवार्य मानी जाती हैं?

आपके समय के लिए Thanx!

+6

समुदाय विकी? – bitbonk

+0

मुझे लगता है कि आप पाते हैं कि हर किसी के पास एक अलग सेट है जिसे वे सीखने के लिए आवश्यक अनिवार्य चीजों पर विचार करेंगे। – ChrisF

उत्तर

8

यहां सूची है। मैंने अपने जूनियर प्रोग्रामर के लिए तैयार किया।

1) एक्सएएमएल मूल बातें & टेक्स्टबॉक्स, बटन आदि जैसे मूल नियंत्रण।,
2) VisualTree और LogicalTree
3) बुदबुदाती और टनेलिंग

4) DependencyProperty
5) AttachedProperty

6) DataTemplate
7) ControlTemplate

8) शैली

9) डेटा बाइंडिंग

ट्रिगर:
10) EventTriggers
11) DataTriggers

MVVM मूल बातें & आदेश:
12) DelegateCommand
13) RelayCommand
14) ApplicationCommands
15) RoutedEvent
16) रूटेड कमांड

रूपांतरण:
17) RenderTransform
18) LayoutTransform

संसाधन:
19) BinaryResource
20) LogicalResource
21) StaticResource
22) DynamicResource
23) RelativeResource

panles और बुनियादी नियंत्रण:
24) लेआउट और पैनलों
25) UserControl
26) ContentControl
27) ग्रिड, TreeView जैसे कुछ नियंत्रण और चार्ट

इंटरफेस और संग्रह:
28) IValueConverter
29) INotifyPropertyChanged
30) ObservableCollection
31) CollectionViewSource

एचटीएच

+0

वाह, सीखने के लिए चीजों की विस्तृत सूची है। मैं आपके प्रयास, अवतार की सराहना करता हूं! Thanx! –

2

Dependency Properties, Routed Events और layout model मेरी राय में बिल्कुल जरूरी है। Data Binding & MVVM अगला आओ।

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

+0

यह एक अच्छा मुद्दा है! मेरा प्रोफेसर चाहता है कि मैं डब्ल्यूपीएफ पर "कुछ बैलिट्स" जोड़ूं, लेकिन आप वास्तव में क्या कह रहे हैं कि जाने का रास्ता नहीं है। यह भी मूल्यवान इनपुट है -टेक्स! –

2

वे सभी कारणों से मूलभूत कहलाते हैं। यदि आप किसी भी प्रकार के सफल WPF एप्लिकेशन बनाने की योजना बना रहे हैं, तो आपको उनमें से सभी की कम से कम बुनियादी समझ होनी चाहिए।

अगर मैं कुछ बातें खास तौर करें ताकि आपकी कक्षा में कम से कम कुछ बना के साथ आरंभ कर सकता था, मैं शायद कहेंगे:

XAML और डेटा बाइंडिंग दोनों musts हैं। निर्भरता गुण एक करीबी दूसरे हैं। इनपुट/कमांड/रूटेड घटनाक्रम सभी को भी शामिल किया जाएगा।

+0

यह मेरा पहला विचार था। संभवतः कोई कुछ मौलिक विषयों पर शुरू कर सकता है, एक्सएएमएल के साथ सेसेलेट का निर्माण कर सकता है और अगले असाइनमेंट में डेटा बाध्यकारी और निर्भरता गुणों के साथ जारी रहेगा। आपके इनपुट के लिए Thanx! –

6

मुझे सच में विश्वास नहीं है कि तीन या चार विषय पर्याप्त हैं। लेकिन के बारे में उच्चतम प्राथमिकताओं में बात कर, मैं

  1. XAML और मार्कअप एक्सटेंशन,
  2. लेआउट और पैनलों,
  3. भेजा गया घटनाओं,
  4. Dependency- और संलग्न गुण कहेंगे।
+0

Thanx। शायद किसी को पाठ्यक्रम को दो हिस्सों में विभाजित करना चाहिए। डब्ल्यूपीएफ 50% और विंडोज़ फॉर्म 50%? अपने इनपुट की सराहना करें! –

1

मैंने चार्ल्स पेटज़होल्ड की पुस्तक "एप्लीकेशन = कोड + मार्कअप" को WPF के साथ शुरू करने में बेहद सहायक होने के लिए पाया। पुस्तक का पहला भाग पूरी तरह से सी # कोड है, जो किसी भी एक्सएएमएल के साथ डब्ल्यूपीएफ (निर्भरता गुण, इवेंटिंग इत्यादि) की बुनियादी अवधारणाओं को पढ़ता है। पुस्तक का दूसरा भाग XAML की अवधारणा को प्रस्तुत करता है और यह पुस्तक के पहले भाग में जो कुछ भी आपने सीखा है उससे संबंधित है। अगर मैं डब्ल्यूपीएफ पर एक कक्षा पढ़ रहा था, तो मैं निश्चित रूप से चीजों को एक ही तरीके से बाहर रखूंगा - पहले कोड में अवधारणाओं को सिखाएं, फिर एक्सएएमएल पेश करें।

+0

यह सच है।छात्र सी # (और वीबी) प्रोग्रामिंग अवधारणाओं से परिचित हैं। हो सकता है कि कोई इन अवधारणाओं के माध्यम से तेजी से काम कर सके और एक्सएएमएल पर पहला ध्यान दें जब पुस्तक से पहला भाग किया जाता है। आपके इनपुट के लिए Thanx! –

1

हालांकि यह काफी व्यक्तिपरक है, मुझे लगता है कि एक अच्छा चार (उस लिंक से) होगा:

  • तत्व ट्री और क्रमबद्धता: यह WPF के लिए WinForms से पूरी तरह से नया है और कैसे की समझ हो रही WPF में चीजें कैसे की जाती हैं, यह समझने में दृश्य और तार्किक पेड़ का काम काफी महत्वपूर्ण है।
  • घटनाक्रम (डब्ल्यूपीएफ) - फिर से, यह WinForms से काफी भिन्न होता है और WPFs ईवेंट मॉडलिंग की सभी उपहारों में लाता है।
  • शैलियों और टेम्पलेट्स - यह वही है जो WPF को जीवन में लाता है। यूआई के लिए सभी बाइंडिंग और इस श्रेणी में भी क्या नहीं आती है।
  • लेआउट सिस्टम - ठीक है, यह WPF है ना? लेआउट प्रक्रिया का एक अभिन्न हिस्सा है।

इनके अलावा, Dependency Properties महत्वपूर्ण हैं और कम से कम समझते हैं कि XAML कैसे काम करता है। WPF की बात आने पर नहीं वास्तविक "केवल विकल्प" है। यदि आप WinForms जैसे मॉडल के साथ काम करते हैं तो यह चीजों को करने का एक नया तरीका है। मैं जितना संभव हो सीखने की कोशिश करता हूं।

+0

WinForms का संदर्भ और अंतर काफी है जो मैं बाद में हूं। छात्रों के पास पिछले पाठ्यक्रम (.NET मूल पाठ्यक्रम) से WinForms पर अच्छा ज्ञान है - इसलिए मुझे लगता है कि आपका विचार बहुत अच्छा है। Thanx! –

3

यदि आप अपने पाठ्यक्रम को व्यावहारिक रूप से संरचनाबद्ध करने के तरीके के बारे में सोचते हैं, तो आपको Petzold's book पर विचार करना चाहिए। जिस तरह से वह अपने अध्यायों को संरचित करता है, वह लाइव पाठ्यक्रमों के लिए पूरी तरह से अच्छा काम करता है। यह वास्तव में बहुत अच्छी तरह से ट्यून किया गया है और हमने इस पुस्तक के चारों ओर एक कोर्स तैयार करने के लिए कुछ अच्छा अनुभव किया है। हमने अनुभव भी बनाया है कि यह विंडोज फॉर्म पृष्ठभूमि वाले लोगों के लिए विशेष रूप से अच्छा काम करता है। यह केवल कोड के साथ शुरू होता है (सी #) और केवल बाद में एक्सएएमएल पेश करता है। यह ढांचे की अवधारणाओं को समझने के लिए एक बड़ा सौदा करने में मदद करता है।

+0

पुस्तक पर टिप के लिए Thanx! टीओसी से ऐसा लगता है कि वसंत पाठ्यक्रम में असाइनमेंट और व्याख्यान बदलने से पहले मुझे पढ़ने की जरूरत है। Thanx! पेटज़ोल्ड के लिए –

+0

+1 :) –

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