2012-10-25 63 views
4

我有幾個資源暴露了ObservableCollection<MyData>屬性。現在我想將ListBox.ItemsSource綁定到它們,並支持CollectionChanged通知,排序和過濾。怎麼做? CompositeCollection不支持篩選。如何將ItemsSource綁定到多個集合?

+0

你的意思是你要綁定到所有的源在一次和他們都(MultiBinding接收更新 - HTTP:// msdn.microsoft.com/en-us/library/system.windows.data.multibinding.aspx),或者您想綁定到多個源並從第一個響應中接收更新(PriorityBinding - http://msdn.microsoft.com /en-us/library/system.windows.data.prioritybinding.aspx) – dash

+1

我想從所有集合中顯示拼合列表並從所有集合中接收更改。 – Poma

+0

可能的重複:http://stackoverflow.com/questions/11288/wpf-sorting-a-composite-collection – Joe

回答

0

您可以一起使用CompositeCollection和CollectionViewSource ..使用CompositeCollection組合所有集合,然後從該CompositeCollection創建集合視圖源。您可以在CollectionViewSource使用篩選器屬性

看看這裏的樣品

How to handle a CompositeCollection with CollectionView features?

+0

沒有。 ''MS.Internal.Data.CompositeCollectionView'視圖不支持過濾。' – Poma

+0

@Poma - 看看示例。創建一個CompositeCollection,然後將其用作CollectionViewSource的源(它支持過濾器)。 – Joe

+0

@JonathanPiché不,它不是。 '新的CollectionViewSource {Source = new CompositeCollection()} .View.CanFilter == false' – Poma

相關問題