2010-11-15 81 views
0

我在VS2010中使用C#構建WPF應用程序。列表視圖ItemsSource - 複雜 -

我有一個數據庫 - 可以稱之爲mydatabase.mdf - 我已將它正確地附加到我的項目並構建了DataContext

現在我的用戶界面中有一個ListView,它顯示了此數據庫中特定表中的項目,但問題是每次將新項目添加到我的數據庫時,我都希望此ListView更新其項目。

我已經嘗試:

listView.items.refresh() 

,但沒有奏效。

而且我已經嘗試了一些東西,即每次添加新項目時在該數據庫表上應用查詢,並且此查詢將取消所有元素;那麼我這樣做:

listview.itemssource = myquery 

但它也沒有工作。

請幫我pleaseeeeeeeeeeeeeee

+1

查看將一個'ObservableCollection <>'綁定到ItemsSource。 – 2010-11-15 09:04:33

回答

1

當增加一個新的項目數據庫無法通知客戶。

當您的客戶將項目添加到數據庫時,ObservableCollection將解決您的問題。它實現INotifyCollectionChanged並通知UI有關對集合所做的更改(在客戶端上)。

當其他客戶端也寫入數據庫時​​,您唯一的機會是定期輪詢數據庫(重新查詢數據庫)並手動將增量(更改)應用於ObservableCollection,或完全重新綁定數據源(分類等如果你不使用ObservableCollection或者實現INotifyCollectionChanged的話,刷新ItemsCollection。

根據您的構架,遠程處理服務可以爲所有客戶端輪詢數據庫,然後通知所有客戶端。如果投票造成瓶頸,這可能會有所幫助。