【发布时间】:2012-03-25 15:46:43
【问题描述】:
我有一个 WPF 应用程序,其中整个应用程序功能都放在选项卡中。与网络浏览器非常相似,每个选项卡都是实际应用程序的一个实例。
现在我有一个用于整个应用程序窗口 MainWindowViewModel 的视图模型,但我想知道是否可以使该视图模型具有这些选项卡视图模型的可观察集合?
【问题讨论】:
我有一个 WPF 应用程序,其中整个应用程序功能都放在选项卡中。与网络浏览器非常相似,每个选项卡都是实际应用程序的一个实例。
现在我有一个用于整个应用程序窗口 MainWindowViewModel 的视图模型,但我想知道是否可以使该视图模型具有这些选项卡视图模型的可观察集合?
【问题讨论】:
是的,在这种情况下,这种方法有时是有意义的。当您拥有一组本身就是视图的列表项时,嵌套视图模型可以更轻松地确定您在任何给定时间使用的列表项。
如果集合只是一组具有几个属性的简单对象,那么处理额外视图模型的开销就不值得了。
但是,听起来这些选项卡中的每一个都有自己的一些行为,并且各个视图模型都是合适的。
不过,如果您需要在视图模型之间进行通信,它确实会增加一些复杂性。如果您还没有使用某种事件聚合器,您可能需要在某个时候沿着这条路走下去。
【讨论】: