【发布时间】:2016-05-03 02:01:43
【问题描述】:
我遇到了其他开发人员可能知道的问题,我正在努力解决它并很好地理解它。它不必直接连接到 MVVM/WPF,也可以连接到 MVC 和 MVP 等其他方法。
假设我有一个购物车模型,它有自己的 Service、addItem 和 deleteItem 方法并计算购物车的价格等。
现在在我的视图中显示这个购物车,当我想显示购物车的总和时,我点击一个按钮来触发处理这个问题的方法。
问题来了:如何将方法(或命令)绑定到按钮?我知道我必须使用ICommand,但是通过使用这个接口,我有点打破了职责分离的规则。如何在不违反 MVVM 模式规则的情况下实现。
【问题讨论】:
-
你将在VIew的ViewModel中实现它
-
在 ViewModel 中使用
ICommand并不违反 MVVM 模式,因为命令是一个表示问题,因此属于 ViewModel。 @Domysee 已经指出了这一点,在命令中您只需将其中继到服务层。请记住,您可能会发出通知或将新价格设置为确实会发出通知的属性
标签: c# wpf model-view-controller mvvm command