मैं TreeView आइटम के लिए एक टेम्पलेट है।WPF CommandParameter बंधन और canExecute
समस्या है: अगर मैं का उपयोग DelegateCommand CanExecutedMethod साथ 'जोड़ें':
AddRate = new DelegateCommand<int?>(AddExecute,AddCanExecute);
इसकी केवल एक बार कहा जाता है और पैरामीटर रिक्त है (जबकि TextBlock उचित ID मान दिखाता है)। IDE संपत्ति को कॉल करने से पहले CanExecute कहा जाता है (डीबगर के साथ चेक किया गया)। ऐसा लगता है कि वास्तविक पैरामीटर के लिए बाध्यकारी होने से पहले wpf आविष्कार कर रहा है और इसके बारे में भूल जाता है। एक बार बाध्यकारी समाप्त होने और उचित मूल्य लोड होने पर यह फिर से CanExecute को कॉल नहीं करता है।
एक समाधान के साथ मैं आदेश का उपयोग कर सकते हैं केवल प्रतिनिधि पर अमल के रूप में:
Add = new DelegateCommand<int?>(AddExecute);
AddExecute सही आईडी मूल्य के साथ शुरू हो जाती है और पूरी तरह से काम कर रहा है। लेकिन मैं अभी भी CanExecute कार्यक्षमता का उपयोग करना चाहता हूँ। कोई विचार?