में एमवीवीएम (आईसीओएमएंड) कृपया, अगर इस प्रश्न पर पहले से या परोक्ष रूप से बड़े पास के प्रिज्म और एमवीवीएम ब्लॉगों में उत्तर दिया गया तो सख्ती से फैसला न करें। RelayCommand या DelegateCommand वर्गों के WPF कार्यान्वयन में एक ऐसी eventhandlerसिल्वरलाइट
/// <summary>
/// Occurs whenever the state of the application changes such that the result
/// of a call to <see cref="CanExecute"/> may return a different value.
/// </summary>
public event EventHandler CanExecuteChanged
{
add { CommandManager.RequerySuggested += value; }
remove { CommandManager.RequerySuggested -= value; }
}
नहीं है लेकिन नामस्थान की SL सबसेट में कोई CommandManager वर्ग नहीं है। और यह वह जगह है जहां मैं फंस गया हूँ। मुझे अभी तक एसएल के लिए एमवीवीएम गोद लेने में इसके लिए कोई समाधान नहीं मिला है (PRISM अभी तक मेरे लिए इतना जटिल है)। अलग-अलग सरल HelloWorldMVVM ऐप्स बिल्कुल निपट नहीं पाते हैं।
अग्रिम और मेरे अंग्रेजी के लिए खेद है धन्यवाद -)
मुझे लगता है कि आप थोड़ा गलत हैं - सिल्वरलाइट 2 –
में आईसीओएमएंड (सीमित हो सकता है, लेकिन यह मौजूद है और वर्ग आईसीओएमएंड मौजूद है) का समर्थन है यह सच है कि 'आईसीओएमएंड' इंटरफ़ेस को सिल्वरलाइट में परिभाषित किया गया है, लेकिन इसका उपयोग कहीं भी नहीं किया जाता है, और डब्ल्यूपीएफ में संपूर्ण कमांडिंग इंफ्रास्ट्रक्चर जो एमवीवीएम पैटर्न के साथ इतना अच्छा काम करता है सिल्वरलाइट में अनुपस्थित है। –
धन्यवाद। मैंने सोचा कि आईसीओएमएंड उपस्थिति का मतलब पूर्ण कमांडिंग समर्थन है, इसलिए मैं गलत था - (इसलिए, यह पता चला है कि एसएल में एमवीवीएम कार्यान्वयन इतना आसान नहीं है, जैसा कि डब्ल्यूपीएफ में है। मुझे अभी तक केवल एक ही रास्ता मिला है - संलग्न संपत्तियों और व्यवहारों का उपयोग करना यह: http://blogs.southworks.net/jdominguez/2008/08/icommand-for-silverlight-with-attached-behaviors/ या तैयार ढांचे का उपयोग करते हुए, जहां कई घटनाएं http: // nroute को गले लगाती हैं। codeplex.com –