好吧,我很困惑。如何綁定到集合確實有效?
如果我的控件具有IEnumerable
的依賴項屬性ItemsSource
類型和用戶將集合綁定到它我在DependencyPropertyChangedEventArgs.NewValue
中有哪些對象?
據我所知CollectionView
隱式創建的集合,我希望args.NewValue
類型ICollectionView
。
當用戶綁定WPF屬性數據的集合,WPF 自動創建一個視圖來包裝的收集,和 屬性綁定到視圖,而不是原始收集。這種行爲始終發生在 之間,並且獨立於CollectionViewSource。
但調試器(VS 2012,.net v.4.0)顯示我在NewValue
中收到原始原始收集。 (BindsDirectlyToSource未設置,默認等於false)
這怎麼可能?
我不明白在這種情況下WPF控件如何支持排序,分組和過濾。
CollectionView如何以及何時注入和使用?
所以這意味着我的控件必須要求CollectionView傳遞集合,並且不支持分組,篩選和開箱即用。控制的責任是實現上述功能,不是嗎? –
當您顯式綁定到[CollectionViewSource](http://msdn.microsoft.com/zh-cn/library/system.windows.data.collectionviewsource)時,可對組合,過濾和排序提供開箱即用的支持的.aspx)。請參閱[綁定到集合](http://msdn.microsoft.com/zh-cn/library/ms752347.aspx#binding_to_collections)中的「如何創建視圖」 – Clemens
嗯,它看起來是肯定的。 GroupItem是由ItemsControl自己創建的... –