【问题标题】:binding to a linq query, silverlight 4绑定到 linq 查询,silverlight 4
【发布时间】: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


    【解决方案1】:

    LINQ 结果不是实时集合,因此对源的更新(在 linq 查询中)不会触发查询结果重新评估。因此,你不会有你想要的行为。

    希望这会有所帮助:)

    【讨论】:

    • 谢谢。我将其改回使用可观察集合。
    猜你喜欢
    • 1970-01-01
    • 2011-05-29
    • 2011-01-24
    • 1970-01-01
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 2011-03-13
    • 2011-01-18
    相关资源
    最近更新 更多