【发布时间】:2012-02-17 10:22:28
【问题描述】:
我有一个包含大约 30'000 个条目的数据源(List 类型)。
public class LocationItem
{
public string Name { get; set; };
public double Latitude { get; set; };
public double Longitude { get; set; };
public double Height { get; set; };
}
将此源绑定到我的 AutoCompleteBox 后,每个输入的字母需要大约 1-3 秒来过滤。过滤器类型为“自定义”。我的过滤方法不是瓶颈——我使用“秒表”类和性能分析器检查了这一点。过滤不在第四个字符之前开始。
更快一点的唯一替代方法是使用 TextChanged 事件而不是实现的过滤器行为。在 TextChanged 事件中,我过滤原始数据源 (Linq) 并将过滤后的子集绑定到 AutoCompleteBox。
有没有其他方法可以提高性能?或者将数据源(具有数千个条目)绑定到具有过滤功能的 AutoCompleteBox 的最佳做法是什么?
亲切的问候, 丹尼
【问题讨论】:
标签: windows-phone-7 autocompletebox