, मैं RoutedCommands कि मैं निम्नलिखित कोड के माध्यम से मेरी XAML में उल्लेख करने के लिए उपयोग करें:WPF कस्टम ICommand कार्यान्वयन और मेरे WPF UI में CanExecuteChanged घटना
Command="viewModel:MessageListViewModel.DeleteMessagesCommand"
मैं अपने ViewModel वर्ग को यह स्थिर लिंक पसंद नहीं है , मुझे लगता है कि यह एक कस्टम ICommand कार्यान्वयन बनाने के रूप में के रूप में अच्छा नहीं है और जैसे निम्नलिखित
Command="{Binding DeleteMessagesCommand}"
करने के बाद एक बनाए गए एक वाक्य विन्यास का उपयोग, मुझे लगता है मैं क्या किया है में से एक बड़ी खामी नोटिस: RoutedCommands CommandManager और (का उपयोग किसी भी तरह से यह मेरे लिए पूरी तरह से अपारदर्शी है) आग CommandManager.Requery सुझाया गया ईवेंट, ताकि उनके CanExecute विधि को स्वचालित रूप से आवश्यक हो। मेरे कस्टम कार्यान्वयन के लिए, CanExecute केवल स्टार्टअप पर एक बार निकाल दिया जाता है और उसके बाद कभी नहीं।
क्या किसी के पास इसके लिए एक शानदार समाधान है? इस प्रकार
धन्यवाद इस महान और संक्षिप्त उत्तर के लिए एक गुच्छा! एक जादू की तरह काम करता है। क्या आप किसी भी मौके से जानते हैं कि कब और क्यों अनुरोध किया जाता है? –
बिल्कुल नहीं, लेकिन मुझे अक्सर ऐसा लगता है ... –
ठीक है, बहुत बहुत धन्यवाद! –