Proszę, nie oceniajcie ściśle, czy to pytanie zostało wcześniej omówione lub pośrednio odpowiedział na ogromnych pobliskich blogach pryzmowych i mvvm. W realizacji WPF klas RelayCommand lub DelegateCommand jest takie PodprogramMVVM (ICommand) w Silverlight
/// <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; }
}
ale w SL podzbioru przestrzeni nazw nie ma klasy poleceń CommandManager. I tutaj utknąłem. Jeszcze nie znalazłem obejścia tego problemu w przyjęciu MVVM dla SL (PRISM jest jeszcze tak skomplikowany jak dla mnie). Różne proste aplikacje HelloWorldMVVM w ogóle nie działają.
Z góry dziękuję i przepraszam za mój angielski -)
Myślę, że jesteś trochę w błędzie - istnieje obsługa ICommand (może być ograniczona, ale istnieje i istnieje klasa ICommand) w Silverlight 2 –
To prawda, że interfejs 'ICommand' jest zdefiniowany w Silverlight, ale nie jest on używany nigdzie, a cała infrastruktura zarządzająca w WPF, która działa tak dobrze z wzorcem MVVM, jest nieobecna w Silverlight. –
Dzięki. Myślałem, że obecność ICommand oznacza pełne wsparcie, więc myliłem się - (Więc okazuje się, że implementacja MVVM w SL nie jest tak łatwa, jak w WPF.) Znalazłem tylko jeden sposób - używając przypisanych właściwości i zachowania jak to: http://blogs.southworks.net/jdominguez/2008/08/icommand-for-silverlight-with-attached-behaviors/ lub za pomocą gotowych frameworków, gdzie wiele wydarzeń obejmuje http: // nroute. codeplex.com –