【发布时间】:2016-04-23 06:02:04
【问题描述】:
我正在开发一个类似购物车的应用程序,以此来实践 MVVM 设计模式。
我有一个 View,它的 ViewModel 几乎只是一个 ShoppingCart,而 ShoppingCart 主要是一个 Product 列表。 p>
现在,我的视图在 GridView 中显示 Products,它使用 DataTemplate 来显示 Name 、Price,每个产品都有一个删除按钮。问题是,由于数据绑定,如果我尝试将 Remove 按钮的 Command 属性数据绑定到 ViewModel 中的 RemoveCommand 属性,代码会失败,因为它会查找 RemoveCommand 在 Product 类而不是 ViewModel 类中。
我非常怀疑我是否想打破封装并让 Product 处理将自己从 ShoppingCart 中删除,但我似乎无法找到正确的方法解决这个问题。
【问题讨论】:
-
我们需要查看您的 ViewModel、View 和 Product 类。
-
虽然如果我遇到语法障碍,这是一个好主意,但我真的在寻找一个通用的、基于概念的解决方案,而不是让别人吐出代码让我复制。这就是为什么我暂时不发布 XAML/C# 的原因。
标签: c# mvvm data-binding uwp icommand