2009-07-24 5 views
17

पासवर्डबॉक्स में रिटर्न कुंजी पकड़ने का सबसे अच्छा तरीका क्या है? (डब्ल्यूपीएफ/एक्सएएमएल)पासवर्डबॉक्स में रिटर्न कुंजी को पकड़ने का सबसे अच्छा तरीका क्या है? (डब्ल्यूपीएफ/एक्सएएमएल)

मेरे पास मेरे लॉगिन फॉर्म (उपयोगकर्ता नाम और पासवर्ड प्रविष्टि के लिए) पर एक टेक्स्टबॉक्स फ़ील्ड और पासवर्डबॉक्स फ़ील्ड है। मेरे पास एक लॉगिन बटन भी है जो उस विधि को आमंत्रित करता है जो लॉगिन सत्यापन प्रक्रिया करता है।

मैं वापस लौटें कुंजी PasswordBox में एक ही तरह से प्रतिक्रिया करते हैं, ताकि उपयोगकर्ता विकल्प में लॉग इन करने के लिए अपने उपयोगकर्ता नाम और पासवर्ड और अक्सर हिट वापसी दर्ज हो सकता है बनाने की जरूरत है।

किसी को भी पता है कि यह कैसे है डब्ल्यूपीएफ में किया? किसी भी मदद की सराहना की है।

उत्तर

47

वहाँ बटन के कोड को सक्रिय करने के लिए एक और भी आसान तंत्र है। डब्ल्यूपीएफ बटन क्लास IsDefault नामक एक संपत्ति प्रदान करता है। जब सत्य पर सेट किया जाता है, तो यदि आप विंडो में कुछ ऑब्जेक्ट्स पर ध्यान केंद्रित करते हैं तो बटन दबाएं, बटन के क्लिक ईवेंट का कोड स्वचालित रूप से निकाल दिया जाएगा। यह तंत्र पासवर्डबॉक्स के साथ एक आकर्षण की तरह काम करता है।

+0

इससे भी बेहतर! धन्यवाद! – Giffyguy

+0

आपको धन्यवाद कि वास्तव में मुझे क्या चाहिए! – rikket

+4

बस ध्यान दें, IsDefault, IsDefaulted, और IsCancel गुण WinRT में बटन क्लास पर लागू नहीं किए गए हैं। निराशाजनक। –

1

आप रूटेड कॉमांड का उपयोग करने का प्रयास कर सकते हैं।

आप इसे बटन की कमांड प्रॉपर्टी पर सेट कर सकते हैं।
आप अपने रूटफॉर्म को ट्रिगर करने के लिए एंटर कुंजी को बाध्य करने के लिए अपने लॉगिनफॉर्म के इनपुट बाइंडिंग में एक कीजस्टर भी जोड़ सकते हैं।

फिर अपने लॉगिन में कमांड बाइंडिंग में एक कमांड बाइंडिंग को रूट कोड को अपने कोड में निष्पादित हैंडलर से बांधने और अपनी लॉगिन सत्यापन प्रक्रिया को ट्रिगर करने या ट्रिगर करने के लिए जोड़ें।

+0

शक्तिशाली लगता है! लेकिन क्या यह वास्तव में ऐसा करने का सबसे आसान तरीका है? यदि ऐसा है - तो माइक्रोसॉफ्ट के लिए मेरा एक काननाक होगा, lemme बताओ ... – Giffyguy

+0

निर्भर करता है। इस तरह आपके पास दो कोड के बजाय आपके कोड में केवल एक हैंडलर है (बटन के लिए, पासवर्डबॉक्स के लिए एक)। यह अधिक लचीला है, और जितना जटिल लगता है उतना जटिल नहीं है। केवल दो अतिरिक्त कदम हैं जिन्हें आपको केवल एक बार करना है: रूटेड कमांड को परिभाषित करना और कमांड बाइंडिंग जोड़ना। कुंजीगेशर क्लिक करें हैंडलर के बजाए कमांड सेट करने वाले बटन के लिए, पासवर्डबॉक्स में इवेंट हैंडलर जोड़ने के समान है। लेकिन आपके पास एक बिंदु है, यह शायद एक साधारण लॉगिन फ़ॉर्म के लिए अधिक है। :) – Bubblewrap

4

आप (आवश्यक होने और पाठबॉक्स) PasswordBox पर KeyDown घटना संभाल कर सकते हैं और उसके बाद निम्न ईवेंट हैंडलर का उपयोग करें -

private void OnKeyDown(object sender, KeyEventArgs e) 
{ 
    if (e.Key != Key.Return && e.Key != Key.Enter) 
     return; 
    e.Handled = true; 
    HandleEnter(); 
} 
+0

यह पूरी तरह से काम करेगा, मुझे अलग-अलग WPF नियंत्रणों के लिए उपयोग की जाने वाली घटनाओं को खोजने में परेशानी है ... धन्यवाद! – Giffyguy

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