簡體   English   中英

WPF MVVM DataGrid ItemsSource綁定到其他集合

[英]WPF MVVM DataGrid ItemsSource binding to different collection

我有一個帶有動態菜單的窗口和一個DataGrid,它根據已單擊的菜單項顯示了不同的記錄。 每個菜單項都返回一個自定義類的ObservableCollection。 所有類別都是不同的,不一定彼此相關。

目前,我在ViewModel中創建了一個ObservableCollection(Of Object),每次單擊菜單項時都用新結果填充它。 問題是對象沒有實現INotifyPropertyChanged,迫使我手動分配ItemsSource。

我敢肯定有一種方法可以實現我所追求的目標,但是我想不到。

您有兩種選擇:

  • 清除ObservableCollection,然后向其中添加新項目。 盡管這樣做可能會很慢,因為當您執行操作時會觸發多個通知(事件),如果它涉及幾十個項目,那么您在執行操作時會開始注意到一些UI速度降低

  • 確保您的視圖模型實現INotifyPropertyChanged,並且包含ObservableCollection的屬性觸發屬性更改通知。 然后,當您要顯示新列表時,只需分配一個新的ObservableCollection。

因為您的集合包含不同類型的對象,所以我相信您已經研究了數據模板化另一個示例 )來構造UI-這樣,您就可以擁有依賴於列表項類型的自定義布局。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM