C# Listview项目资源-复杂-

C# Listview项目资源-复杂-,c#,wpf,C#,Wpf,我正在VS2010中使用C#构建一个WPF应用程序 我有一个数据库——我们把它叫做mydatabase.mdf——我已经将它正确地附加到我的项目中,并构建了一个DataContext 现在,我的用户界面中有一个ListView,显示该数据库中特定表中的项目,但问题是每次向数据库添加新项目时,我都希望该ListView更新其项目 我已经试过: listView.items.refresh() 但它不起作用 我尝试了一些方法,即每次添加一个新项时,对这个数据库表应用一个查询,并且这个查询会提取所有

我正在VS2010中使用C#构建一个WPF应用程序

我有一个数据库——我们把它叫做
mydatabase.mdf
——我已经将它正确地附加到我的项目中,并构建了一个
DataContext

现在,我的用户界面中有一个
ListView
,显示该数据库中特定表中的项目,但问题是每次向数据库添加新项目时,我都希望该
ListView
更新其项目

我已经试过:

listView.items.refresh()
但它不起作用

我尝试了一些方法,即每次添加一个新项时,对这个数据库表应用一个查询,并且这个查询会提取所有元素;那么我会:

listview.itemssource = myquery
但它也不起作用


请帮助我。请在添加新项目时,数据库无法通知客户端

当您的客户将项目添加到数据库时,ObservableCollection将解决您的问题。它实现INotifyCollectionChanged,并通知用户界面(在客户端上)对集合所做的更改

当其他客户端也向数据库写入数据时,您唯一的机会就是定期轮询数据库(重新查询数据库)并手动将增量(更改)应用于ObservableCollection,或者完全重新绑定数据源(排序等可能会丢失)或者刷新ItemsCollection,以防不使用ObservableCollection或实现INotifyCollectionChanged的内容


根据您的架构,远程处理服务可以轮询所有客户端的数据库,然后通知所有客户端。如果轮询造成瓶颈,这可能会很有帮助。

请研究将
可观察收集绑定到ItemsSource。