यदि कोई शरीर एक साधारण उदाहरण के साथ समझा सकता है तो मैं सराहना करूंगा।रूटेड घटनाएं क्या हैं और यह सामान्य घटनाओं से अलग कैसे है
उत्तर
एक विंडो की कल्पना करें जिसमें बाल नियंत्रण का घना पदानुक्रम है। अब मान लें कि आप कुछ करना चाहते हैं, आपकी खिड़की में कहीं भी दायाँ क्लिक करें।
- सामान्य घटनाओं के साथ, आपको सभी नियंत्रणों के लिए एक क्लिक ईवेंट को संभालना होगा, क्योंकि आप सुनिश्चित नहीं हैं कि उपयोगकर्ता कहां क्लिक कर सकता है।
- WPF के routed events के साथ, घटनाएं या तो "बबल" या "सुरंग" (यानी यूआई पेड़ या नीचे यात्रा करती हैं) यदि उन्हें कोई ईवेंट हैंडलर नहीं मिलता है, जो वर्तमान स्तर पर "हैंडल" करता है। तो आप खिड़की की घटना के लिए एक हैंडलर लिख सकते हैं यानी टॉपलेवल। (डब्ल्यूपीएफ में इवेंट जोड़े, पूर्वावलोकन XXX और XXX का एक सम्मेलन है - पूर्वावलोकन XXXX घटना पहले और सुरंगों को रूट से नीचे नियंत्रित करती है जो उत्तेजना और समकक्ष XXX घटना प्राप्त करती है, फिर रूट पर वापस बाल नियंत्रण से बुलबुले होते हैं)। तो अगर आप सही एक बटन क्लिक करें, WPF यूआई पदानुक्रम ऊपर यात्रा करता है, कि यह पाता है सभी संचालकों लागू (जब तक कि कोई निशान घटना "संभाला" है घटना args में।)
भेजा गया घटनाओं और अधिक के साथ घटनाओं रहे हैं ' यात्रा क्षमताओं ', जैसा कि गिशू के उत्तर में उल्लिखित है। कराई घटनाओं एक RoutedEvent वर्ग + साधारण नेट ईवेंट की घटना है, जो यह लपेटता का प्रतिनिधित्व कर रहे:
public class MyClassWithARoutedEvent : UIElement
{
public static readonly RoutedEvent DoSomethingEvent;
public event RoutedEventHandler DoSomething
{
add { base.AddHandler (MyClassWithARoutedEvent.DoSomethingEvent, value);
remove { base.AddHandler (MyClassWithARoutedEvent.DoSomethingEvent, value);
}
}
आप आमतौर पर ऐसी स्थितियों में टाल दिया घटनाओं का प्रयोग करेंगे:
- अपने स्वयं के नियंत्रण को लागू जो मूल WPF के आधारभूत संरचना
- प्रोसेसिंग ईवेंट, एक सामान्य रूट
- तत्व तत्व पेड़ में तत्वों के बीच संचार का क्रमबद्ध करें अधिकांश स्थितियों में आप wil मैं शायद इसे देखे बिना रूटेड इवेंट इंफ्रास्ट्रक्चर का उपयोग करता हूं।
इसके अतिरिक्त यह उल्लेख करने योग्य है कि आप अपने नियंत्रण में रूटेडएवेंट का उपयोग कर सकते हैं भले ही यह इसे परिभाषित न करे या यहां तक कि किसी तत्व से विरासत में न हो। ऐसा इसलिए है क्योंकि आप वास्तव में किसी ईवेंट के मजबूत टाइप किए गए नाम के रूप में रूटेडएवेंट उदाहरण के बारे में सोच सकते हैं। तो, आप इस 'नाम' (यही कारण है कि एक कराई ईवेंट की घटना आम तौर पर सार्वजनिक किया जाता है) के लिए एक पहुँच है या नहीं, आप इसे देना कर सकते हैं:
public class MyClassWithARoutedEvent : UIElement
{
public static readonly RoutedEvent ClickEvent;
static MyClassWithARoutedEvent ()
{
ClickEvent = ButtonBase.ClickEvent.AddOwner(typeof (MyClassWithARoutedEvent));
}
// A wrapper should be placed here as described above
}
- 1. रूटेड कमांड्स निष्पादित और पूर्वावलोकन निष्पादित घटनाएं
- 2. डब्ल्यूपीएफ: रूटेड घटनाओं या नियमित घटनाओं?
- 3. क्या WPF रूटेड घटनाओं को देखने का कोई तरीका है?
- 4. रूटेड कॉमांड और रूटेड यूकॉमैंड के बीच क्या अंतर है?
- 5. "गैर अवरुद्ध" संगामिति क्या है और यह कैसे सामान्य संगामिति से अलग है?
- 6. स्ट्रिंग कैबप्रिंटफ क्या है और यह सामान्य स्प्रिंटफ से अलग कैसे है?
- 7. कमजोर घटनाएं कैसे काम करती हैं?
- 8. एसटीडीईआरआर? यह क्या है? इसके सामान्य उपयोग क्या हैं?
- 9. क्या वेब ऑडियो एपीआई घटनाएं अलग थ्रेड में चलती हैं?
- 10. किस मामले में आवश्यक घटनाओं से अलग हो रहे हैं?
- 11. वीबी और सी # में घटनाओं के बीच क्या अंतर है?
- 12. क्या डब्ल्यूपीएफ रूटेड कमांड किसी समस्या का समाधान करते हैं या इसे और खराब करते हैं?
- 13. कैलेंडर से सभी घटनाएं कैसे प्राप्त करें?
- 14. यूआईबटन घटनाएं। क्या फर्क पड़ता है?
- 15. सी #: आभासी घटनाएं क्या हैं और उनका उपयोग कैसे किया जा सकता है?
- 16. MySQL घटनाएं कितनी महंगी हैं?
- 17. PyMySQL क्या है और यह MySQLdb से अलग कैसे है? क्या यह Django तैनाती को प्रभावित कर सकता है?
- 18. कॉर्डोवा क्या है, और यह फोनगैप से कैसे संबंधित है?
- 19. एक "सामान्य खाता" से अलग "परीक्षण खाता" कैसे होता है?
- 20. क्या अजगर में कोई अंतर्निहित क्रॉस-थ्रेड घटनाएं हैं?
- 21. एमवीवीएम रूटेड और रिले कमांड
- 22. क्या ऐसी कई चीजें हैं जो बहुत सी घटनाएं हैं?
- 23. ओओपी में, अग्रेषण क्या है और यह प्रतिनिधिमंडल से अलग कैसे है?
- 24. "स्वच्छ सी" क्या है और यह मानक सी से अलग कैसे है?
- 25. yii घटक: घटनाएं और व्यवहार?
- 26. कंकाल कार्यान्वयन सामान्य सार वर्ग से अलग कैसे होता है?
- 27. इवेंट-लूप क्या है और यह अन्य मॉडलों का उपयोग करने से अलग कैसे है?
- 28. कमजोर वैश्विक संदर्भ क्या हैं? वैश्विक संदर्भ से यह अलग कैसे है?
- 29. जावास्क्रिप्ट इवेंटमीटर एकाधिक घटनाएं
- 30. बटनडाउन और बटनअप घटनाएं?
पूर्वावलोकन घटनाओं, सुरंग हैं बुदबुदाती नहीं। –
@ जॉन - ओह! मेरा डब्ल्यूपीएफ थोड़ा जंगली हो गया है। सुधार के लिए धन्यवाद ... अद्यतन। – Gishu