2012-01-27 87 views
1

什麼工作:操縱內存中的LinkedList(串)數據綁定到鏈接列表?

  • Web服務。
  • 客戶端可以插入/添加/刪除/查詢LinkedList的內容。
  • Web服務從命令行(無UI)啓動。

我想這樣做:

  • 更改命令行應用程序的WPF應用程序。
  • 從WPF應用程序顯示LinkedList的當前狀態。
  • 數據綁定UI控件,因此任何客戶端操作都會反映在顯示中。

速度不是一個大問題,因爲WPF應用程序是隻讀的和更多信息。我選擇了一個LinkedList來支持所需的客戶端功能。

我很難找到任何可以提供幫助的教程和/或示例。我應該如何處理這個問題的任何建議都會很棒。

+0

LinkedList的只是好奇:如果速度不是問題,爲什麼一個LinkedList,而不是'ObservableCollection '? – 2012-01-27 21:03:22

+0

我已經採取了你的建議,並切換到ObservableCollection ,到目前爲止,這麼好。正如我在下面的評論中所提到的,如果我以後需要LinkedList解決方案的性能和/或速度,我會切換回去。謝謝! – 2012-02-07 13:27:39

+0

很高興聽到它的工作,但它不是建議;這是一個問題... – 2012-02-07 13:42:33

回答

4
  • 創建一個名爲ObservableLinkedList的新類並實現INotifyCollectionChanged
  • 在LinkedList中給出與該類相同的方法,並將所有方法內部轉發到包含的鏈接列表中,但也觸發了INotifyCollectionChanged事件,以便WPF知道鏈接列表已更改。

讓WPF知道一個綁定集合已經改變;它必須實現INotifyCollectionChanged

OR

只是觸發的CollectionView被刷新每次更新像下面

CollectionViewSource.GetDefaultView(ViewModel.TheCollectionProperty).Refresh(); 
+0

+1:實現一個也實現INotifyCollectionChanged的LinkedList是我如何考慮這樣做的。 – 2012-01-27 20:59:55

+0

這就是我正在尋找的東西(花了一段時間學習/實現)。謝謝!順便說一句,雖然這有效,但我會簡化我的解決方案,使用Erno建議的ObservableCollecton ,並在性能和/或功能成爲問題時切換到此。 – 2012-02-07 13:26:09