c# - Difference between PreviewMouseLeftButtonDown and MouseLeftButtonDown WPF -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 4 जवाब

    जबकि WPF सीखने (मैं हूँ इस के लिए नया), मैंने एक साधारण विंडो बनाई है और उपयोगकर्ता नाम दर्ज करने के लिए एक टेक्स्ट बॉक्स डाल दिया है। मैं इस पाठ बॉक्स में शुरू में कुछ टेक्स्ट वैल्यू डालता हूं (उपयोगकर्ता नाम)। मैं चाहूंगा कि यह पाठ गायब हो जाए जैसे ही माउस लेफ्टबटटनडाउन निकाल दिया जाए। नीचे मेरी XAML और सी # कोड है -

     <कोड> & lt; पाठ बॉक्स का नाम = "usernameTextBox" पृष्ठभूमि = "पारदर्शी" PreviewMouseLeftButtonDown = "usernameTextBox_PreviewMouseLeftButtonDown" HorizontalAlignment = "बाएँ" ऊंचाई = "23" मार्जिन = "10,103 , 0,0 "टेक्स्टवॅपिंग =" लपेटें "वर्टिकलएलिनेमेंट =" शीर्ष "चौड़ाई =" 166 "पाठ =" उपयोगकर्ता नाम "/ & gt;   

    सी # कोड

      निजी शून्य usernameTextBox_MouseLeftButtonDown (वस्तु प्रेषक, MouseButtonEventArgs ई) {if (usernameTextBox.Text.ToLower () == "उपयोगकर्ता नाम") usernameTextBox । पाठ = ""; }   

    यह हालांकि, काम नहीं किया। कुछ खोज के बाद, मैं भर में आया और PreviewMouseLeftButtonDown घटना के रूप में अपेक्षित काम किया।

    तो मेरा सवाल है, इन दो घटनाओं में अंतर क्या है और मुझे कैसे पता चलेगा कि एक का उपयोग कब किया जाए और दूसरे का उपयोग करने के लिए?

    धन्यवाद!

    अन्य माइक्रोसॉफ्ट टेक्नोलॉजीज जैसे विंडोज फॉर्म्स में मानक CLR इवेंट हैं। इन्हें इस प्रकार वर्णित किया गया है:

    केवल स्रोत तत्व को ही प्रतिक्रिया में हैंडलर्स को आमंत्रित करने का अवसर दिया गया है। यह "रूटिंग" के समान है जो कि विंडोज फॉर्म इवेंट्स के लिए उपयोग करता है।

    एक ?? ¢ बुदबुदाती : इवेंट स्रोत पर इवेंट हैंडलर लागू होते हैं अनुमार्गित घटना तब तत्व वृक्ष रूट तक पहुंचने तक लगातार माता पिता के तत्वों के लिए रूट करता है। अधिकतर घटनाओं में बुबलींग रूटिंग रणनीति का इस्तेमाल होता है बबुलिंग द्वारा संचालित घटनाओं का उपयोग आम तौर पर विशिष्ट नियंत्रण या अन्य यूआई तत्वों से इनपुट या राज्य परिवर्तनों की रिपोर्ट करने के लिए किया जाता है।

    एक ?? ¢ प्रत्यक्ष : केवल स्रोत तत्व को ही मौका दिया जाता है प्रतिक्रिया में हैंडलर्स खोलें यह "रूटिंग" के समान है जो कि विंडोज फॉर्म इवेंट्स के लिए उपयोग करता है। हालांकि, एक मानक CLR घटना के विपरीत, प्रत्यक्ष कराई घटनाओं वर्ग से निपटने (कक्षा हैंडलिंग एक आगामी अनुभाग में समझाया गया है) और EventSetter और EventTrigger द्वारा इस्तेमाल किया जा सकता समर्थन करते हैं।

    ?? ¢ टनेलिंग : प्रारंभ में, तत्व ट्री रूट पर इवेंट हैंडलर लागू होते हैं। राइट इवेंट तब मार्ग पर लगातार बच्चे तत्वों के माध्यम से एक मार्ग की यात्रा करता है, नोड एलीमेंट की ओर जाता है जो कि रूटेड इवेंट सोर्स है (जो कि रूटेटेड इवेंट को उठाया गया तत्व)। टर्नलींग रूट इवेंट्स को अक्सर नियंत्रण के लिए कंपोजिटिंग के भाग के रूप में इस्तेमाल किया जाता है या संभाला जाता है, जैसे कि समग्र भागों की घटनाओं को जानबूझकर दबाया जा सकता है या पूर्ण नियंत्रण के लिए विशिष्ट ईवेंट द्वारा प्रतिस्थापित किया जा सकता है WPF में प्रदान की जाने वाली इनपुट इवेंट प्रायः एक सुरंग / बुलबुल जोड़ी के रूप में लागू होती हैं।

    हालांकि सरल शब्दों में, टनलिंग घटनाओं में, उदाहरण के लिए, टनलिंग की घटनाओं को कभी-कभी पूर्वावलोकन ईवेंट के रूप में भी संदर्भित किया जाता है, हमेशा पूर्वावलोकन के साथ शुरू होने वाले नामों से, से पहले बबलिंग घटनाएं होती हैं और इसलिए इसे संभालना बेहतर होता है वास्तविक व्युत्पन्न EventArgs ऑब्जेक्ट एक RoutedEvent का उपयोग दोनों टनलिंग और संबंधित Bubbling ईवेंट के बीच साझा किया जाता है। यदि किसी इवेंट में कोई संबंधित टनलिंग ईवेंट होता है, तो आप निश्चित हो सकते हैं कि एक अनुलग्न हैंडलर को बुलाया जाएगा, जबकि कुछ नियंत्रण टनलिंग ईवेंट को संभाल के रूप में सेट किया गया है , तो संबंधित बुदबुदाती घटना को कभी भी नहीं कहा जाता है।

    रूटिंग ईवेंट के बारे में पूर्ण विवरण के लिए लिंक किए गए पृष्ठ देखें।

Comments

Popular posts from this blog

ios - Adding an SKSpriteNode to SKScene from a child SKSpriteNode -

Matlab transpose a table vector -

c# - Textbox not clickable but editable -