我有一個ObservableCollection<Person>
對象。 Person
對象具有Name
和Type
屬性,其中Type
是student
或teacher
。有沒有辦法將ComboBox
綁定到ObservableCollection<Person>
對象的子集,其中Type
屬性只有teacher
?集合的綁定子集
集合的綁定子集
回答
你可以通過編程的方式做到這一點OWS:
MyComboBox.ItemsSource = a.Where((obj, r) => { return (obj.Type == "student"); }).ToList();
這將幫助你
WPF Binding to a Combo using only a subset of a Collection's items
這裏被提及的概念,如CollectionViewSource,過濾ECC ...
看一看也在
謝謝,這些問題中有一些很好的信息和鏈接。 – dotancohen 2012-03-08 19:22:51
ICollectionView
這裏是你的答案 -
public ICollectionView Teachers
{
get
{
// Persons is your ObservableCollection<Person>.
var teachers = CollectionViewSource.GetDefaultView(Persons);
teachers.Filter = p => (p as Person).Type == "Teacher";
return teachers;
}
}
你可以用這個屬性綁定您的組合框的ItemSource。當您的源集合中添加或刪除任何項目時,將自動過濾此集合。
非常感謝! – dotancohen 2012-03-08 19:23:40
我對派對有點遲到,但有點小錯:'var teachers'應該是'var source' – 2016-05-19 15:54:23
@MickaelV。 - 謝謝..更新.. !! – 2016-05-19 16:41:16
- 1. WPF綁定到子集合
- 2. XAML綁定到子集合
- 3. XAML:綁定集合裏面的集合
- 4. Silverlight綁定集合裏面的集合
- 5. 綁定到返回子集合的集合中的屬性
- 6. 無法綁定silverlight中的子集合
- 7. WPF TreeView綁定多個子集合
- 8. 綁定的BindingList到集合
- 9. 多的ItemsSource集合綁定
- 10. GridView的 - 綁定集合
- 11. 綁定到DataGridView的集合
- 12. 產生的給定集合的子集
- 13. 將datagrid綁定到集合
- 14. 綁定WPF4 Datagrid空集合
- 15. 在MVC中綁定集合
- 16. XAML綁定集合的子項到視圖模型根的另一個集合
- 17. WPF使用僅集合的項目的子集綁定到一個組合
- 18. 列表框的列表框綁定到集合的集合
- 19. 如何將WPF Datagrid的itemssource綁定到集合的集合?
- 20. 集合與子集合
- 21. 如何綁定到集合而不使用集合的索引?
- 22. 將數據網格綁定到集合中的嵌套集合
- 23. 如何綁定到WPF集合中的集合
- 24. Silverlight DataGrid - 綁定到對象集合的集合
- 25. 綁定到其他集合中存在的集合
- 26. 數據綁定組合框到集合
- 27. 用linq查詢集合的子集合
- 28. 綁定到WPF中的集合
- 29. UserControl不會顯示綁定的集合
- 30. Grails的綁定集合枚舉
謝謝,這是從我可以告訴的過濾最清潔和最明顯的方式。 – dotancohen 2012-03-08 19:24:15