2009-11-15 11 views
9

पर प्रोग्रामेटिक रूप से कैसे आग लगा सकता हूं मेरे पास ICommand है कि मैं कोड से आग लगाना चाहता हूं (निष्पादित करें); मैं यह कैसे करु?मैं प्रोग्राम को

+0

तो 'निष्पादित()' विधि नहीं कर रहा है कि आप क्या उम्मीद है, यह हमें को देखने के लिए स्रोत कोड के लिए के लिए मदद कर सकता है। – jheddings

उत्तर

23

Execute विधि को कॉल करने का प्रयास करें।

+4

वाह मुझे थोड़ा मूर्ख महसूस नहीं होता :) –

+0

पूरी तरह से बहुत आसान! यह सही नहीं हो सकता है! ;-) – senfo

7

मान लिया जाये कि वहाँ someCommandcommandArgs साथ:

if (someCommand.CanExecute(commandArgs)) 
{ 
    someCommand.Execute(commandArgs); 
} 
4

आप RoutedUICommand के Execute और CanExecute उपयोग कर रहे हैं, ताकि सही CommandBinding पाया जा सकता है कोई मान्य लक्ष्य में पारित करने के लिए सुनिश्चित करें।

इसके अलावा, यदि आपके कमांड के हैंडलर सीधे ऑब्जेक्ट्स को संशोधित नहीं करते हैं, तो केंट बूगार्ट के DelegateCommand का उपयोग करने पर विचार करें। प्रतिनिधि आदेशों का उपयोग करके व्यवसाय तर्क को व्यूमोडेल पर ले जाया जाएगा, जो कि अच्छा है, और यदि आप कोड से सीधे निष्पादन आदेशों की आवश्यकता है तो वे विशेष रूप से आसान हैं और आपके पास दृश्य (या एक ऑब्जेक्ट तक पहुंच नहीं है जिससे आप बबल कर सकते हैं आपके CommandBindings पर)।

0

याद रखें, यदि आपको क्लिक बटन की तरह आंतरिक घटकों की एक और घटना कॉल करने की आवश्यकता है, तो प्रदर्शन के साथ स्टार्टिन (जैसे बटन का प्रदर्शन क्लिक करें) देखें।

एक और जवाब ठीक कर रहे हैं, केवल निष्पादित का उपयोग करें ...

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