我可能只是在这里丢失了一些明显的东西,所以我很抱歉如果这是一个非常愚蠢的问题。我在视图中有一个WrapPanel,我需要绑定到ViewModel上的ObservableCollection。这个ObservableCollection包含一个不同类型的ViewModel,它在WrapPanel中显示时需要绑定到其他类型的视图。目标是创建一个可打包的项目列表,每个项目都通过一个应该添加到WrapPanel的较小视图实例来显示。将ObservableCollection项绑定到WrapPanel中的UserControl?
我正在使用MVVM,ViewModel没有直接访问视图。如果可能,我宁愿不在ViewModel和View之间创建绑定,因此手动向WrapPanel.Children集合添加项目不是可行的选项。我不知道如何将一组子ViewModel对象绑定到WrapPanel,这样它将创建另一个视图的实例并将它们添加到它自己。我是否错误地解决了这个问题?我认为可能有一个DataTemplate涉及,但它并不表示WrapPanel有一个DataTemplate,也不是可绑定的。
感谢您的任何见解。
这听起来像你有一种情况,你有不同的viewmodels所有在同一集合。每个视图模型都有自己的关联视图。当你在一个容器中显示这些虚拟机时,你希望每个视图被包装一个额外的级别? (就像每个单独元素周围的边框一样?) – 2009-10-16 07:05:16
集合包含所有相同类型,在本例中为ServiceMonitorViewModel。我只需要将它们显示在父视图的可打包容器中。 – jrista 2009-10-16 08:31:09