CommandManager“无法解析符号”

时间:2010-05-25 01:56:58

标签: .net wpf silverlight mvvm

将“RelayCommand”类(使用CommandManager类)添加到我的Silverlight应用程序后,我遇到了错误:

  

当前上下文中不存在名称“CommandManager”

此类是PresentationCore.dll程序集中System.Windows.Input命名空间的成员。问题是我无法将此dll添加到我的应用程序中...

我有一个奇怪的假设:这个类(CommmandManager)不能在Silverlight中使用。我对吗?

如何实现MVVM模式(http://msdn.microsoft.com/en-us/magazine/dd419663.aspx)?

感谢。

3 个答案:

答案 0 :(得分:2)

Silverlight对ICommand具有非常原始支持。特别是它不支持命令路由或CommandManager。它甚至没有提供ICommand的实现。它只定义了接口,ButtonBase知道如何使用它。

所以底线是,您需要删除代码中特定于WPF的部分,或者在Silverlight中创建CommandManager的某种基本实现。

答案 1 :(得分:2)

您可以使用提供RelayCommand的Silverlight版本的MVVM Light framework

答案 2 :(得分:2)

事实上,SilverLight中不存在CommandManager类...请查看以下博客文章,了解SilverLight中的解决方案:

http://blog.walteralmeida.com/2010/06/modelviewviewmodel-design-pattern-an-implementation-of-relaycommand-for-silverlight.html