我有一个包含约30,000个条目的数据源(类型为List)。使用大型数据源时出现性能问题的AutoCompleteBox
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-3S过滤。过滤器类型是'自定义'。我的过滤方法不是瓶颈 - 我使用“秒表”类和性能分析器检查过。过滤不在第四个字符之前开始。
有一点更快的唯一替代方法是使用TextChanged事件而不是实现的过滤器行为。在TextChanged事件中,我过滤原始数据源(Linq)并仅将过滤的子集绑定到AutoCompleteBox。
有没有什么可以去的方法来提高性能?或者最佳做法是将具有过滤器功能的数据源(具有数千个条目)绑定到AutoCompleteBox?
亲切的问候, 丹尼
更好地解释你的答案会有所帮助。 – 2012-10-26 20:38:15