将“RelayCommand”类(使用CommandManager类)添加到我的Silverlight应用程序后,我遇到了错误:
当前上下文中不存在名称“CommandManager”
此类是PresentationCore.dll程序集中System.Windows.Input命名空间的成员。问题是我无法将此dll添加到我的应用程序中...
我有一个奇怪的假设:这个类(CommmandManager)不能在Silverlight中使用。我对吗?
如何实现MVVM模式(http://msdn.microsoft.com/en-us/magazine/dd419663.aspx)?
感谢。
答案 0 :(得分:2)
Silverlight对ICommand具有非常原始支持。特别是它不支持命令路由或CommandManager。它甚至没有提供ICommand的实现。它只定义了接口,ButtonBase知道如何使用它。
所以底线是,您需要删除代码中特定于WPF的部分,或者在Silverlight中创建CommandManager的某种基本实现。
答案 1 :(得分:2)
您可以使用提供RelayCommand
的Silverlight版本的MVVM Light framework。
答案 2 :(得分:2)
事实上,SilverLight中不存在CommandManager类...请查看以下博客文章,了解SilverLight中的解决方案: