2011-05-25 49 views
0

我想知道是否綁定Silverlight中的控件,linq表達式與綁定到可觀察集合相同?我有一個樹形視圖,截至目前我綁定到一個可觀察的集合。然後我瞭解了有關linq表達式,似乎通過使用linq查詢,我可以完全擺脫這個集合,並使用查詢生成它,但我不知道如果從linq查詢生成的結果將得到更新在飛行,並通過UI的更新?綁定到linq查詢,silverlight 4

例如我有一個員工名單,我創建了一個可觀察的「作爲經理的員工」集合,並用它作爲樹的項目源。無論何時添加新員工,如果他們是經理,他們都會被添加到經理集合中,並且樹會更新。現在使用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; 

感謝

回答

1

LINQ結果是不帶電的集合,因此更改源(LINQ查詢)將不會觸發查詢結果重新評估。因此,你不會有你想要的行爲。

希望這會有所幫助:)

+0

謝謝。我將它改回到使用可觀察集合。 – user642770 2011-05-26 10:15:56