2011-03-01 159 views
2

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

回答

1

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

+0

你可以给我一些代码示例。 – xDev23 2011-03-02 11:58:32

+0

这似乎工作知道。我在我的MainWindowViewModel中实现了一个IEnumerable属性和INotifyPropertyChanged接口。我现在可以显示数据库中的每个表格。 – xDev23 2011-03-02 15:34:14

相关问题