मुझे इन दो नियंत्रणों के साथ एक सरल WPF संवाद मिला है:डब्ल्यूपीएफ एमवीवीएम: टेक्स्टबॉक्स और डिफॉल्ट बटन बाइंडिंग बहुत देर हो चुकी है
<TextBox Text="{Binding MyText}"/>
<Button Command="{Binding MyCommand}" IsDefault="True"/>
अब, जब मैं टेक्स्टबॉक्स में कुछ टेक्स्ट डालता हूं और माउस का उपयोग करके बटन क्लिक करता हूं, तो सब कुछ अपेक्षित काम करता है: टेक्स्टबॉक्स MyText सेट करेगा और MyCommand कहा जाता है।
लेकिन जब मैं कुछ पाठ दर्ज करता हूं और डिफ़ॉल्ट बटन को "क्लिक" करने के लिए एंटर दबाता हूं, तो यह काम नहीं करता है। फोकस दर्ज करने पर ध्यान केंद्रित करने से टेक्स्टबॉक्स छोड़ नहीं जाता है, बाध्यकारी MyText रीफ्रेश नहीं किया जाएगा। तो जब MyCommand को कॉल किया जाता है (जो काम करता है), MyText में पुराना डेटा होगा।
मैं इसे एमवीवीएम में कैसे ठीक करूं? क्लासिक कोड-बैक में मैं शायद माईकॉमैंड हैंडलर में "MyButton.Focus()" को कॉल करूंगा, लेकिन एमवीवीएम में MyCommand हैंडलर को बटन के बारे में कुछ नहीं पता है।
तो अब क्या है?
तो मुझे इसे प्रत्येक बाध्यकारी में जोड़ना होगा (क्योंकि हमेशा मेरे कीबोर्ड शॉर्टकट तक पहुंचने योग्य बटन हो सकते हैं)? – Sam