2012-06-28 20 views
5

का उपयोग करने के अलावा सक्रिय है या नहीं, मैं एक WPF प्रोजेक्ट पर काम कर रहा हूं, और जब भी कुछ उपयोगकर्ता नियंत्रण सक्रिय या निष्क्रिय होते हैं तो मैं एक ईवेंट को आग लगाने की कोशिश कर रहा हूं।यह कैसे पता चलेगा कि UserControl IsFocused

इन उपयोगकर्ता नियंत्रणों में उनके अंदर कई अन्य नियंत्रण हैं।

मैं UserControl घटनाओं GotFocus और LostFocus का उपयोग कर इस लक्ष्य को हासिल करने की कोशिश की, लेकिन इन घटनाओं तरह से मैं की जरूरत है काम नहीं कर रहे क्योंकि UserControl जब मैं इसके बारे में अंदर नियंत्रण के साथ काम ध्यान केंद्रित खो देता है।

तो, मेरे सवाल यह है: वहाँ Active के रूप में एक UserControl mantain को उपयोगकर्ता के इसके अंदर नियंत्रण के साथ काम करता है एक तरीका है, और, उपयोगकर्ता किसी अन्य UserControl इस पहले एक हो जाता है Inactive हो जाए तो उसे ???

अग्रिम धन्यवाद।

+2

क्या आपने कोशिश की है [UIElement.IsKeyboardFocusWithinChanged Event] (http://msdn.microsoft.com/en-us/library/system.windows.uielement.iskeyboardfocuswithinchanged)? – LPL

+0

@ एलपीएल, मैंने अभी कोशिश की है, लेकिन जब उपयोगकर्ता नियंत्रण दिखाया जाता है तो घटना असीम – Dante

+2

@Dante उठाती है क्या आप ब्रेकपॉइंट का उपयोग कर रहे हैं? एक ब्रेकपॉइंट 'UserControl' को फोकस खोने का कारण बनता है, फिर निरंतर इसे फिर से फोकस कर देगा, जिससे अनंत लूप का कारण बनता है। – Rachel

उत्तर

2

मेरी समस्या हल हो सकती है @ एलपीएल और @ राहेल की टिप्पणियों के लिए धन्यवाद।

मुझे घटना UIElement.IsKeyboardFocusWithinChanged का उपयोग करना पड़ा और यह पूरी तरह से काम किया।

सबसे पहले मैं एक समस्या जो कि कॉलबैक विधि असीम उठाया जा रहा था था, लेकिन वास्तविक समस्या यह है कि मैं एक MessageBox हर बार घटना IsKeyboardFocusWithinChanged उठाया दिखाया जा रहा था था, इसलिए, इस वजह से है कि IsKeyboardFocusWithin संपत्ति बदल गया और यह एक अनंत लूप बनाया। लेकिन राहेल की सलाह के लिए धन्यवाद, मैं समझ सकता हूं कि इसे कैसे हल किया जाए।

0

मुझे यकीन नहीं है कि एक वर्कअनॉन्डर नियंत्रण जांच के खोए गए फोकस पर हो सकता है यदि नियंत्रण प्राप्त करने वाला नियंत्रण आपके नियंत्रण का बच्चा है, तो अगर यह लिखता है तो बस वापस लौटाएं अगर यह नहीं है तो बस उस तर्क को लिखें जिसे आप चाहते हैं आपके नियंत्रण का खोया ध्यान। मुझे आशा है कि इससे

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