2010-02-25 140 views
1

我很难正确地在视图中绑定我的模型。我有一个MainWindowViewModel,它包含一个AlbumViewModel的列表。每个AlbumViewModel都包含一个AlbumModel。所以我有多个相册,我需要在AlbumModel的ObservableCollection中显示信息。我有两个ListBox。 ListBox1保存在我的MainWindowViewModel中的AlbumViewModel的列表。我的第二个ListBox我想从AlbumViewModel.AlbumModel当前选择的项目中显示ObservableCollection。我怎样才能做到这一点?我已经尝试将ListBox2的DataContext绑定到ListBox1元素,并将SelectedItem作为路径,但返回'AlbumViewModel'。有没有办法将ListBox的ItemsSource绑定到DataContext的绑定,但在这种情况下绑定到[DataContext].AlbumModel.ObservableCollection什么?使用WPF和MVVM/Model-View-ViewModel进行数据绑定

如果听起来相当复杂,我很抱歉!

回答

0

您可以使用这样一个事实,即当您绑定到一个集合时,WPF会将集合包装到CollectionView。这个人有CurrentItem ..比衣有好文章:How can I sync selection of two data bound ListBoxes?和Dr.WPF是惊人的(像往常一样):ItemsControl: 'C' is for Collection

+0

好的,这很有趣。谢谢。它的工作,但现在我想弄清楚如何显示我的模型。很显然,我不希望View可以访问模型,那么如何在不暴露模型的情况下为其创建DateTemplate? 编辑:没关系。它正在工作。我只是用一个键而不是DataType创建了一个DataTemplate :)非常感谢! – Harry 2010-02-25 17:04:49

+0

不客气:)。很高兴我能帮上忙。干杯 – Anvaka 2010-02-25 17:10:47