在我的Windows Phone App中,有一个简单的分层模型,该模型由一个包含其他域对象集合的类组成。
在我的xaml中,我声明了一个ItemsContainer控件,它将上面提到的集合中的项呈现为简单的矩形。
现在,在VM级别,我的结构类似于我的模型,其中父虚拟机具有一组子虚拟机。每个子VM都封装了自己的模型。
每当用户点击绑定到子VM的视图时,应该以相关的子模型作为参数调用父模型对象的方法。这将反过来改变一些内部状态,这些内部状态将(可能)反映在所有子视图上(而不仅仅是被挖掘的视图)。
所以......鉴于我正在使用MVVM Light框架,我目前的实现如下:
它有效,但我填补它有点麻烦。最让我烦恼的是,当点击子视图时,关联的VM将广播其封装的模型对象。你觉得有更好的方法来实现这样一个系统吗?
提前感谢您的宝贵帮助
答案 0 :(得分:1)
您是否可以将命令放在父视图模型上并将子视图模型作为命令参数传递?
父视图模型可以只调用子视图模型上的方法来更新它们。我不确定是否需要所有这些消息?