2010-08-10 6 views
5

मेरे WPF बता गया एक बटन के प्रत्येक क्लिक तार का एक अलग सेट के साथ भर जाता है। खिड़की पर भी अन्य नियंत्रण हैं। Combobox खिड़की में 'पहला' (शीर्ष) है, लेकिन पाठ हाइलाइट नहीं किया जाता है। जब नियंत्रण के माध्यम से उपयोगकर्ता टैब, पाठ पर प्रकाश डाला प्राप्त करता है, लेकिन जब यह खिड़की पर पहला है, ऐसा नहीं है।कैसे WPF बता गया PART_EditableTextbox 'में मिलता है' क्योंकि बता गया पर प्रकाश डाला जा रहा है ना?

हो सकता है कि मैं 'के भीतर' बता गया ही अलग-अलग पाठ बॉक्स नियंत्रण पर एक मुख्य आकर्षण के लिए मजबूर करने की जरूरत है, लेकिन मैं यह कैसे करना होगा? मुझे कहीं भी इस नियंत्रण की आंतरिक 'संरचना' नहीं मिल सका। क्या कोई यहां मदद कर सकता है?

जैक

उत्तर

1

मुझे यकीन है कि यह सबसे अच्छा समाधान है नहीं कर रहा हूँ, लेकिन आप बच्चे को नियंत्रण का उपयोग करने के FrameworkElement.FindName उपयोग कर सकते हैं - यह एक combobox में मौजूद होने की गारंटी है क्योंकि इसके बारे में एक महत्वपूर्ण घटक हिस्सा है नियंत्रण।

कहा गया है कि, यह बेहतर कोशिश करते हैं और नियंत्रण पर .Focus() कॉल करने के लिए नहीं है? यही कारण है कि जब आप टैब करते हैं, तो हाइलाइट प्रदान किया जाता है।

एक अन्य विकल्प ComboBox से प्राप्त करने, और आप इसे चयन है स्थापित करने के लिए अनुमति देता है एक संपत्ति के रूप में बच्चे के पाठ बॉक्स का पर्दाफाश, या आप के लिए यह निर्धारित करने के लिए बता गया करने के लिए सीधे एक विधि जोड़ने है।

24

पाने के लिए Combobox के पाठ बॉक्स का उपयोग कर सकते

TextBox TxtBox = (TextBox)myCombo.Template.FindName("PART_EditableTextBox", myCombo); 
+7

बता गया खाका का सृजन (ctor) के दौरान रिक्त है - तो कैसे एक निर्माण के दौरान इसे पाने के हैं? – Sam

+0

^दुर्भाग्यवश आप इसे अभी तक नहीं बनाया जा सकता है। – Asheh

+1

आप 'ऑनएप्ली टेम्पलेट' –