【问题标题】:Data Binding with WPF and MVVM/Model-View-ViewModel使用 WPF 和 MVVM/Model-View-ViewModel 进行数据绑定
【发布时间】:2011-01-21 00:40:24
【问题描述】:

我在视图中正确绑定模型时遇到了困难。我有一个包含 AlbumViewModel 列表的 MainWindowViewModel。每个 AlbumViewModel 都拥有一个 AlbumModel。所以我有多个专辑,我需要在 AlbumModel 的 ObservableCollection 中显示信息。我有两个列表框。 ListBox1 包含我的 MainWindowViewModel 中的 AlbumViewModel 列表。我的第二个 ListBox 我想显示来自 AlbumViewModel.AlbumModel 中当前选定项目的 ObservableCollection。我怎样才能做到这一点?我尝试将 ListBox2 的 DataContext 绑定到 ListBox1 元素,并将 SelectedItem 作为路径,但返回“AlbumViewModel”。无论如何将ListBox的ItemsSource绑定到DataContext的绑定,但在这种情况下将其绑定到[DataContext].AlbumModel.ObservableCollection或其他东西?

如果听起来很复杂,我深表歉意!

【问题讨论】:

    标签: wpf mvvm data-binding


    【解决方案1】:

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

    【讨论】:

    • 啊好吧,这很有趣。谢谢。它有效,但现在我正试图弄清楚如何显示我的模型。显然我不希望视图可以访问模型,那么如何在不暴露模型的情况下为其创建 DateTemplate 呢?编辑:没关系。它正在工作。我刚刚创建了一个带有键而不是 DataType 的 DataTemplate :) 非常感谢!
    猜你喜欢
    • 2019-06-01
    • 1970-01-01
    • 2019-05-29
    • 2013-06-14
    • 1970-01-01
    • 1970-01-01
    • 2013-08-29
    • 1970-01-01
    • 2012-06-04
    相关资源
    最近更新 更多