जहां पदानुक्रम में प्रत्येक MenuItem
अपने Command
संपत्ति एक RoutedCommand
मैं परिभाषित किया है करने के लिए सेट है मैं एक Menu
है मजबूर करने के लिए। संबंधित CommandBinding
CanExecute
के मूल्यांकन के लिए कॉलबैक प्रदान करता है जो प्रत्येक MenuItem
की सक्षम स्थिति को नियंत्रित करता है।WPF - कैसे एक कमान फिर से मूल्यांकन करने के लिए 'CanExecute' अपनी CommandBindings के माध्यम से
यह लगभग काम करता है। मेनू आइटम प्रारंभ में सही सक्षम और अक्षम राज्यों के साथ आते हैं। हालांकि जब मेरा CanExecute
कॉलबैक परिवर्तन का उपयोग करता है, तो मुझे इस नए राज्य को UI में प्रतिबिंबित करने के लिए मेरे कॉलबैक से परिणाम का दोबारा अनुरोध करने के लिए आदेश की आवश्यकता है।
इस के लिए RoutedCommand
या CommandBinding
पर कोई सार्वजनिक विधि प्रतीत नहीं होती है।
ध्यान दें कि जब मैं नियंत्रण में क्लिक या टाइप करता हूं तो कॉलबैक दोबारा उपयोग किया जाता है (मुझे लगता है कि यह इनपुट पर ट्रिगर हुआ है क्योंकि माउस-ओवर रीफ्रेश नहीं करता है)।
धन्यवाद यह ठीक काम करता है। यूआई में थोड़ी देर देरी है, लेकिन मैं इसके बारे में ज्यादा चिंतित नहीं हूं।इसके अलावा, मैंने तुरंत आपके उत्तर को वोट दिया, फिर यह देखने के लिए वोट वापस ले लिया कि यह काम करता है या नहीं। अब यह काम कर रहा है, मैं फिर से वोट फिर से लागू नहीं कर सकता। निश्चित नहीं है कि एसओ के पास ऐसा नियम क्यों है। –
मैंने अपना वोट दोबारा लागू करने के लिए अपना जवाब संपादित किया। मैंने संपादन में कुछ भी नहीं बदला। एक बार फिर धन्यवाद। –
हाहा ठीक :) धन्यवाद! – Arcturus