2010-11-17 12 views
34

आधिकारिक माइक्रोसॉफ्ट प्रलेखन में केवल एक पैरा उल्लेख कैसे नियंत्रण कुंजीपटल करने के लिए व्यवहार करते है (कम से कम है कि मैं क्या मिल सकता है):क्या सिल्वरलाइट 4 नियंत्रण के लिए डिफ़ॉल्ट कीबोर्ड व्यवहार का कोई संदर्भ है?

http://msdn.microsoft.com/en-us/library/cc189015(v=VS.95).aspx#inputting_text

पाठ इनपुट और नियंत्रित करता है

कुछ नियंत्रण प्रतिक्रिया अपने स्वयं के हैंडलिंग के साथ कीबोर्ड घटनाओं के लिए। उदाहरण के लिए, टेक्स्टबॉक्स एक नियंत्रण है जिसे कुंजीपटल का उपयोग करके दर्ज किए गए पाठ को कैप्चर करने और उसके बाद दृश्य रूप से प्रदर्शित करने के लिए डिज़ाइन किया गया है, और यह कीस्ट्रोक को कैप्चर करने के लिए अपने तर्क में कीअप और कीडाउन का उपयोग करता है, फिर पाठ को अपना टेक्स्ट चेंज किया गया ईवेंट भी उठाता है वास्तव में बदल गया। आप अभी भी टेक्स्टअप पर KeyUp और KeyDown के लिए हैंडलर जोड़ सकते हैं, या टेक्स्ट इनपुट को संसाधित करने के उद्देश्य से संबंधित किसी भी संबंधित नियंत्रण को जोड़ सकते हैं। हालांकि, अपने इच्छित डिजाइन के हिस्से के रूप में, नियंत्रण उन महत्वपूर्ण कुंजीयों का जवाब नहीं दे सकता है जो मुख्य कार्यक्रमों के माध्यम से निर्देशित होते हैं। व्यवहार प्रत्येक नियंत्रण के लिए विशिष्ट है। उदाहरण के तौर पर, बटनबेस (बटन के लिए बेस क्लास) कुंजीअप को संसाधित करता है ताकि वह SPACEBAR या ENTER कुंजी की जांच कर सके, जिसे एक क्लिक ईवेंट को बढ़ाने के उद्देश्य से माउस बाएं बटन के बराबर माना जाता है। घटना की यह प्रसंस्करण बटनबेज द्वारा वर्चुअल विधि ऑनकेप अप को ओवरराइड करके पूरा किया जाता है, और इसके कार्यान्वयन में यह हैंडल = सत्य सेट करता है। नतीजा यह है कि एक स्पेसबार के मामले में एक महत्वपूर्ण घटना के लिए सुनने वाले बटन के किसी भी माता-पिता को अपने हैंडलरों के लिए पहले से ही संभाला गया ईवेंट नहीं मिलेगा। एक और उदाहरण टेक्स्टबॉक्स है। ARROW कुंजी जैसी कुछ कुंजियों को टेक्स्टबॉक्स द्वारा टेक्स्ट नहीं माना जाता है और इसके बजाय नियंत्रण UI व्यवहार के लिए विशिष्ट माना जाता है, और टेक्स्टबॉक्स इन ईवेंट मामलों को संभालने के रूप में चिह्नित करता है।

कस्टम नियंत्रण ऑनकेडडाउन/ऑनकेप अप ओवरराइड करके महत्वपूर्ण घटनाओं के लिए अपने स्वयं के समान ओवरराइड व्यवहार को कार्यान्वित कर सकते हैं। यदि आपका कस्टम नियंत्रण विशिष्ट त्वरक कुंजी को संसाधित करता है, या टेक्स्टबॉक्स के लिए वर्णित परिदृश्य के समान नियंत्रण या फ़ोकस व्यवहार है, तो आपको यह तर्क अपने स्वयं के ऑनकेडाउन/ऑनकेप ओवरराइड में रखना चाहिए।

क्या कहीं और अधिक पूर्ण संदर्भ है?

एक AutoCompleteBox में उदाहरण के लिए आप ऊपर और नीचे दबाने/सुझाव पर जाएँ और चुनें किसी एक को दबाने में प्रवेश, आदि आदि कर सकते हैं

निश्चित रूप से वहाँ हर एक नियंत्रण ध्यान केंद्रित कर और पर हर एक कुंजी दबाने से एक बेहतर तरीका होना चाहिए पता लगाने के लिए कीबोर्ड :)

+0

हो सकता है कि यह मदद मिलेगी .... http है। dummies.com/how-to/content/silverlight-4-for-dummies-cheat-sheet.html – Aeonius

उत्तर

1

स्रोत कोड \ परावर्तक में देखें।

नियंत्रण पाठ प्रसंस्करण में बहुत सारे quirks हैं, मुझे संदेह है कि कोई भी इसे दस्तावेज करने की परवाह करेगा। उदाहरण के लिए टेक्स्टबॉक्स के कीडाउन घटना को निकाल दिया नहीं जाता है जब उपयोगकर्ता नियंत्रण में टेक्स्ट होने पर बैकस्पेस दबाता है, लेकिन जब कोई टेक्स्ट नहीं होता है तो आग लगती है। स्रोत खोजने में कुछ काम करने का सबसे तेज़ तरीका है।

मुझे एक अच्छा नियम पता चला है: अगर किसी कारण से आपको यह जानने की ज़रूरत है कि कुछ नियंत्रण कैसे व्यवहार करेंगे, तो कुछ स्थिति आपको इस स्थिति को कोड (पुन: पेश करने) की कोशिश करने में समय बर्बाद नहीं करती है, केवल परावर्तक प्राप्त करें और स्रोत कोड देखें ।

+0

मैं इसे स्वीकार्य उत्तर के रूप में चिह्नित कर रहा हूं क्योंकि अब तक यह सबसे मजबूत तरीका है, लेकिन मैं चुपचाप उम्मीद कर रहा हूं कि वहां है कम से कम कुछ भीड़-स्रोत संदर्भ वहाँ ... :) – dain

0

क्या ये ड्रोन आप ढूंढ रहे हैं?: // www http://www.silverlight.net/archives/videos/keyboard-control

+0

यह ट्यूटोरियल वर्णन करता है कि कस्टम नियंत्रण में कीबोर्ड शॉर्टकट कैसे जोड़ें, लेकिन जो भी मैं बाद में हूं, अंतर्निहित contr के लिए एक संदर्भ है ओएलएस (और शायद सिल्वरलाइट टूलकिट भी)। – dain

1

यहाँ आधिकारिक एमएस के लिए लिंक कम कटौती, http://support.microsoft.com/kb/126449 tThey http://www.itworld.com/software/203881/windows-8-metro-keyboard-shortcuts-and-tips आशा Windows 8 के लिए जोड़े जा रहे हैं इस में मदद करता है

+0

यह लगभग है :) मुझे लगता है कि सिल्वरलाइट नियंत्रण को कम से कम विंडोज डिज़ाइन दिशानिर्देशों का पालन करना है, इसलिए यह अच्छी सोच है, लेकिन ऐसा लगता है कि इस संदर्भ में अधिक वैश्विक कीबोर्ड शॉर्टकट हैं और अधिकतर मुख्य संयोजन हैं :( – dain

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