我有一个MainWindowViewModel(DataContext),它公开了不同的ObservableCollections<> (使用INotifyProperty来查看poco对象的视图....)。从组合框中选择一个值后,我想单击一个加载按钮,然后在datagrid或listview中显示所需的数据。问题是,在xaml代码中,我只能为一个集合定义itemssource和列特定的定义。那么如何更改以符合MVVM的方式显示的数据。有没有最好的做法?
答案 0 :(得分:1)
在ViewModel中创建一个公开IEnumerable
的属性。将DataGrids ItemsSource
绑定到该属性。然后,您可以将属性从ViewModel内部设置为任何集合,然后数据将发生变化
请注意,您应指定双向绑定,并且您的媒体资源必须支持某些更改通知(支持INotifyPropertyChanged
或DependencyProperty
)。