请不要苛刻地评判,如果之前已经在大量的prism和mvvm博客中讨论过这个问题或者间接回答过这个问题。在WPF实现的RelayCommand或DelegateCommand类中,有一个这样的事件处理程序:
/// <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类。这就是我卡住的地方。我还没有找到MVVM在SL中的解决方法(PRISM对我来说太复杂了)。不同的简单HelloWorldMVVM应用程序根本不涉及此问题。
提前感谢您,抱歉我的英语 -)
ICommand
接口,但它并没有被使用,而且在WPF中与MVVM模式非常配合的整个命令基础设施在Silverlight中是缺失的。 - Martin Liversage