2011-03-01 162 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

相關問題