我有一個類繼承自ItemsControl,也是一個從VirtualizedStack Panel繼承的VirtualizedPanel,我創建了模板,以便我的控件在ScrollViewer內部保存ItemsPresenter並擁有所有啓用Vitualizing屬性以及CanContentScroll。即使啓用了虛擬化,WPF中的ItemsControl也會生成所有項目
問題是我在後端使用DataVirtualization,所以我沒有內存中的所有集合,並且在WPF中當ItemsControl被加載時它調用GetEnumerator(),所以它試圖遍歷整個採集。在Silverlight中,這不會發生,ItemsControl只需使用實現IList的我的Collection的Indexer調用可見項。
有沒有辦法讓WPF中的ItemsControl只使用索引器,而不是試圖通過IEnumerable加載所有的集合?
你有沒有樂在這裏:http://bea.stollnitz.com/blog/?p=344?或多或少在2年前,我正在與WPF合作,並使用這篇文章中的一些技術,這非常好。 – Tigran