【发布时间】:2012-02-23 11:14:13
【问题描述】:
我有一个包含超过 100,000 个项目的 Main Stream (IEnumerable)。然后我控制了多个AutoCompleteBox。所有这些 AutoCompleteBox 都绑定到 Main Stream。
第一:
现在的问题是我的控件中有大约 10 个 AutoCompleteBox,并且都将 Main Stream 作为它们的 ItemsSource,从而导致内存占用很大。
第二:
我还需要在运行时根据某些事件对几个 AutoCompleteBox 的 ItemsSource 应用过滤器的功能。
我需要您的建议来减少这种内存占用并具有在运行时应用过滤器的功能。
【问题讨论】:
-
1) 你在使用 MVVM 吗? 2) MainStream 是否是一个带有 getter 的属性,它根据请求/惰性 getter 返回项目列表,或者这是一次填充的字段/属性?
标签: c# wpf silverlight linq