2013-03-22 5 views
5

मुझे अपने बच्चे को नहीं, UserControl पर ध्यान केंद्रित करने की आवश्यकता है।
अन्यथा मैं बफर से सम्मिलन लागू नहीं कर सकता। :(
स्थापना Focusable=True मदद नहीं करता है गूगल और इतना ही बताता है कि कैसे UserControl बच्चे को फ़ोकस सेट करनेउपयोगकर्ता नियंत्रण पर फ़ोकस कैसे सेट करें (इसे चुनने योग्य बनाएं)?

मेरे नियंत्रण में शामिल हैं:।।
- टूलबार इसी वीएम
के आदेशों के लिए बाध्य कई बटन के साथ - पाठ बॉक्स जो फिल्टर
के लिए इनपुट है - डेटा ग्रिड -।। आइटमों की सूची

मैं बाध्य करने के लिए वी एम के लिए Ctrl + V आदेश की जरूरत है लेकिन यह इशारा UserControl संभाल करने के भीतर ध्यान केंद्रित किया जाना चाहिए जब कोई आइटम नहीं है। ग्रिड में (वीएम संग्रह खाली है) बटन अक्षम हैं और फोकस प्राप्त करने वाला एकमात्र तत्व TextBox है। लेकिन यह Ctrl + V को अपने तरीके से संभालता है और मैं इस व्यवहार को बदलना नहीं चाहता हूं।
इस प्रकार, जब मैं UserControl के क्षेत्र पर क्लिक करता हूं तो मुझे फ़ोकस सेट करने के लिए कुछ चाहिए।
मेरा मानना ​​है कि UserControl इसके लिए सबसे अच्छा उम्मीदवार है।
लेकिन मुझे नहीं पता कि इसे कैसे चुनने योग्य बनाया जाए।

+0

अन्यथा मैं बफर से सम्मिलन लागू नहीं कर सकता हूं - क्या आप कृपया इसे बेहतर समझा सकते हैं? आपका सवाल बहुत अस्पष्ट दोस्त है, मैं समझ नहीं पा रहा हूं। अपना वर्तमान कोड और एक्सएएमएल भी पोस्ट करें। –

+0

मैंने कुछ विवरण जोड़े हैं। उम्मीद है कि यह अब स्पष्ट है। –

उत्तर

12

पूरी समस्या नियंत्रण के व्यवहार की मेरी गलतफहमी में थी।
यह SO question स्पष्ट रूप से दिखाता है कि मुझे विश्वास है।

इस प्रकार, UserControl.Focusable = true सेटिंग पर्याप्त नहीं है। कीबोर्ड IsTabStop के माध्यम से इसे नेविगेट करने योग्य बनाने के लिए true भी होना चाहिए। और माउस क्लिक द्वारा यूसी चुनने योग्य बनाने के लिए हमें माउस ईवेंटहैंडर में Focus() पर कॉल करना चाहिए। बस।

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