我想根据用户选择的内容动态更改数据网格的Item源。例如,我的用户将从服务器ftp不同的xml文件,每个文件包含略有不同的信息。我有不同对象的模型,我的视图模型存储为不同的通用列表......取决于对象。在我看来,我有一个datagird我想绑定到我的vm的通用列表之一,具体取决于用户选择ftp的文件。如何动态更改datagrid的ItemSource biding?有什么想法吗?
如果可能的话,我想保留代码中的代码。
答案 0 :(得分:0)
一种方法是将一个DataGrid与AutoGenerateColumns设为true并简单地更改itemssource
<DataGrid ItemsSource="{Binding MyData}" AutoGenerateColumns=true/>
视图模型
public IList<object> MyData {get;set;} //<- INotifyPropertyChanged should be implemented
应该可行,但我不会这样做;)
我会使用datatemplates和特定的,而不是通用的“包装”对象为您的不同列表。