2012-07-12 35 views
7

के संदर्भ में माइक्रोसॉफ्ट के एमवीवीएम पैटर्न और इसके कमांडिंग/इवेंट हैंडलिंग पहलुओं पर विचार करें कि मैं नियंत्रण में एक कमांड को बाध्यकारी कर रहा हूं (एक बटन कहें) और नियंत्रण के क्लिक ईवेंट की सदस्यता ले रहा हूं।पहले क्या आता है - कमांड या इवेंट हैंडलर?

क्या कोई सामान्य नियम है कि पहले क्या कार्रवाई होती है - आदेश से जुड़े कोड की प्रसंस्करण या संबंधित ईवेंट हैंडलर से जुड़ी एक?

+0

मुझे लगता है कि सबसे बड़ा सवाल है, यही कारण है कि आप दोनों ही करेंगे। आदेशों का उपयोग करने के बारे में महत्वपूर्ण बात यह है कि आप इसे सामान्य रूप से एक व्यूमोडेल में आईसीओएमएंड से जोड़ देंगे, और ऐसा करके, वीएम को बटन के बारे में कुछ भी जानने की आवश्यकता नहीं है। क्या यह कुछ कोड पीछे और एक वीएम मिश्रण करने का मामला है? यदि आप वीएम का उपयोग कर रहे हैं, तो आप बटन ईवेंट के लिए बाध्यकारी कैसे हैं? – stevethethread

+1

@SteveSolomon वैसे मैं रनटाइम के दौरान नियंत्रण की गतिशील रचना से निपटने की कोशिश कर रहा हूं। और एमवीवीएम पैटर्न का सम्मान करने के लिए मैं दृश्य में सभी आवश्यक कोड छोड़ने का प्रयास करता हूं। तो मैं वर्तमान में 'इंटर-व्यू' मैनिपुलेशन के लिए VIEW/VIEWMODEL और EventHandlers के बीच कनेक्शन के लिए कमांड बाध्यकारी का उपयोग कर रहा हूं। –

+0

मुझे नहीं लगता कि यह विशिष्ट है। मैं * सोचता हूं * हाथ से पहले घटना को सब्सक्राइब करने वाला पहला व्यक्ति उठाया जाएगा। यदि एक्सएएमएल में कमांड को जोड़ दिया गया है, तो मुझे उम्मीद है कि पहले सदस्यता लेंगे। लेकिन, बिल्ली को त्वचा के एक से अधिक तरीके हैं। –

उत्तर

5

इवेंट हैंडलर बाध्य आईसीओएमएंड से पहले ट्रिगर किए गए हैं।

+2

यह सही है। मैंने कभी-कभी दोनों को पहले किया है जब मैं आदेश को संसाधित करने से पहले कुछ दृश्य-विशिष्ट जांच करना चाहता हूं। यदि चेक विफल रहता है, तो ईवेंट कमांड को रद्द कर सकता है। – Rachel

+0

बहुत बहुत धन्यवाद। –