मैं पाठ बॉक्स के PreviewLostKeyboardFocus
घटना के लिए कोई हैंडलर की है। जब मैं कीबोर्ड (टैब कुंजी) या माउस (फॉर्म पर किसी अन्य टेक्स्टबॉक्स पर क्लिक करके) टेक्स्टबॉक्स को छोड़ देता हूं तो यह आग लग जाता है।क्या WPF टेक्स्टबॉक्स छोड़ने के लिए उपयोगकर्ता कीबोर्ड या माउस का उपयोग करता था?
हैंडलर एक KeyboardFocusChangedEventArgs
है, जो एक संपत्ति KeyboardDevice
नाम है, जो या तो परिदृश्य में अशक्त नहीं दे रहा है लेता है (मैं यहाँ null
लगता है जब माउस का उपयोग उम्मीद कर रहा था)।
प्रश्न: मैं कैसे बता सकता हूं कि उपयोगकर्ता ने WPF टेक्स्टबॉक्स छोड़ने के लिए कीबोर्ड या माउस का उपयोग किया था या नहीं?
क्योंकि कुछ अन्य नियंत्रण [कोड में] फोकस पकड़ लेता है क्या होगा अगर फोकस नियंत्रण छोड़ देता है (http://msdn.microsoft.com/en-us/library/system.windows.uielement.focus.aspx)? – Vlad
नहीं यह बेहतर होगा एक प्रमुख श्रोता की स्थापना की और पता लगाने अगर टैब दबाया गया था के लिए? यदि दबाए गए टैब के अनुसार, आप तदनुसार जवाब दे सकते हैं, अन्यथा मान लें कि उन्होंने माउस द्वारा कुछ अन्य तरीके छोड़ा है। मैं WPF से परिचित नहीं हूं, लेकिन कई यूआई पुस्तकालयों में आप टैब कुंजी को कैप्चर कर सकते हैं, और इसकी क्रिया को ओवरराइड कर सकते हैं। मुझे लगता है कि आप वास्तव में अगले क्षेत्र में जाने के बजाय टेक्स्ट क्षेत्र में एक टैब डालना चाहते हैं। – Kibbee
मैं यहां किब्बी से सहमत हूं: टैब कुंजी के लिए या तो 'इवेंट हैंडलर' या 'माउसओवर' हैंडलर जोड़ने के बारे में, जो कि – Damascus