【问题标题】:How to change the content in a datagrid or listview using MVVM如何使用 MVVM 更改数据网格或列表视图中的内容
【发布时间】:2011-03-01 10:52:35
【问题描述】:

我有一个 MainWindowViewModel (DataContext),它公开了不同的 ObservableCollections(带有 INotifyProperty 的 poco 对象的视图模型......)。从组合框中选择一个值后,我想单击一个加载按钮,然后显示所需的数据在数据网格或列表视图中。问题是,在 xaml 代码中,我只能为一个集合定义 itemssource 和 column 特定定义。那么如何更改以符合 MVVM 的方式显示的数据。有什么最佳做法吗?

【问题讨论】:

    标签: .net wpf mvvm


    【解决方案1】:

    在您的 ViewModel 中创建一个公开IEnumerable 的属性。将 DataGrids ItemsSource 绑定到该属性。然后,您可以将 ViewModel 内部的属性设置为您的任何集合,然后数据将发生变化。
    请注意,您应该指定双向绑定,并且您的属性必须支持某些更改通知(支持INotifyPropertyChanged 或成为DependencyProperty)。

    【讨论】:

    • 它似乎工作知道。我在 MainWindowViewModel 中实现了一个 IEnumerable 属性和 INotifyPropertyChanged 接口。我现在可以在数据网格中显示我的数据库中的每个表。
    猜你喜欢
    • 1970-01-01
    • 2019-11-05
    • 2012-07-31
    • 2016-02-09
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多