【发布时间】:2013-12-24 16:43:43
【问题描述】:
问题。我想从我的视图中调用 ViewModel-Command。我遇到的问题是:无法绑定 Command 参数。比方说。用户单击项目。我想将一个包含以下属性的对象传递给我的 ViewModel 命令:CurrentEntity、PositionX、PositionY。 (这是一个面向图形的应用程序。这就是我将 X、Y 位置传递给我的视图模型的原因。我必须将值存储在 DB 中。) 现在你将如何解决这个问题?如何从 View 绑定 Command 并传递这个特定的命令参数对象?
我现在所做的:我有一个特殊的接口,它是由 VM 实现的命令定义。那么......在我看来(代码隐藏)我将 DataContext 转换为这个命令接口,然后我从代码后面(事件处理程序)调用命令。但这并没有真正的意义......因为在那种情况下,我可以只调用一个简单的 ViewModel 函数。 (如果我不需要 CanExecute 功能) 这是一个好的设计吗?我不喜欢的是……有些命令绑定在 XAML 中,有些在代码隐藏中。从架构的角度来看,这有点令人困惑。
我够清楚了吗?
谢谢
【问题讨论】: