我的ListBox ItemSsource如何在WPF和C#中实现observablecollection

时间:2012-01-08 21:13:36

标签: c# wpf

我有一个ListBox(EmpView),它通过一个类型化数据集中的LINQ to SQL由select语句填充。 我必须放一个按钮才能刷新包含更新数据的列表框。

如何制作数据集(如果可能)或让我的ListBox ItemSource实现可观察的集合?

这是我的代码

public partial class ListOfEmployees : UserControl
{
    MyDataContext db = new MyDataContext();

    var employees = from emp in db.EmployeeMasters
    orderby emp.Surname
    select emp;         

    EmpView.ItemsSource = employees;
}

1 个答案:

答案 0 :(得分:1)

您需要做的就是创建一个新的ObservableCollection,其中包含通过constrctor或Add添加的所选项目。 e.g。

var observableCollection = new ObservableCollection<Employee>(employees);
EmpView.ItemsSource = observableCollection;

您的商品类的类型当然可能不同。要轻松更改集合,您可能希望在某处存储对它的引用。

正如评论中所指出的,这只会记录由集合上的显式操作引起的变化。