【发布时间】:2011-05-25 18:41:13
【问题描述】:
我想知道在 Silverlight 中将控件绑定到 linq 表达式是否与绑定到可观察集合相同?我有一个树视图,到目前为止我已绑定到一个可观察的集合。然后我了解了 linq 表达式,似乎通过使用 linq 查询我可以完全摆脱这个集合并使用查询生成它,但我不确定这个从 linq 查询生成的结果是否会即时更新并通过用户界面的更新?
例如,我有一个员工列表,我创建了一个可观察的“曾担任经理的员工”的集合,并将其用作树的 itemsource。每当添加新员工时,如果他们是经理,他们就会被添加到经理集合中,并且树会更新。现在使用 linq,我可以使用查询生成作为经理的员工列表,但我没有办法测试当作为经理的新员工添加到员工集合时,这是否也会更新。
class EmployeeCollection : IEnumerable<Employee>, INotifyCollectionChanged
{
private List<Employee> empColl;
// private ObservableCollection<Employee> managerCollection; Not needed now
}
managerTreeView.ItemsSource = from Employee in EmployeeCollection where Employee.isManager select Employee;
谢谢
【问题讨论】:
标签: linq silverlight-4.0 binding