如何消除Silverlight Autocompletebox控件上的初始加载时间?

时间:2009-11-17 19:08:30

标签: silverlight autocomplete

我有一个Silverlight自动完成框来显示工作人员列表,它运行良好。我通过加载BusinessObjects列表来获取数据。

我的问题是第一次你开始在框中输入内容,需要将近2秒的时间才能提出建议。之后,任何后续搜索似乎都是即时的。

显然这里肯定会发生某种延迟加载,它必须以某种方式配置为在初始使用控件时触发。

我想以某种方式在首次加载控件时加载数据,即使在第一次输入时,它也可以提供更好的用户体验,这些建议似乎是即时的。

有谁知道我该怎么做?

2 个答案:

答案 0 :(得分:1)

好的,在Silverlight论坛上来回走动后,得到了一个很好的解决方法,我会分享。它是由一位名叫马特的友好的澳大利亚人提供的,如果人们好奇的话我想我会把它发布在这里。

基本上,但是将最小搜索长度设置为2,可以大大减少处理并使渲染“赶上”第二个和第三个字符。他建议的另外两个属性也有助于加快回报。

这是他的帖子:

我用您的代码和更大的项目集合(100,000)更新了我的测试项目,我开始看到问题......:)

将MinimumPrefixLength设置为2(或任何大于1的值,默认设置为1),MinimumPopulateDelay设置为200(默认情况下设置为0)为我删除了问题。我还建议设置MaxDropDownHeight,因为这将确保AutoCompleteBox中的虚拟化能够正常运行。

uxAuto.MinimumPrefixLength = 2;
uxAuto.MinimumPopulateDelay = 200;
uxAuto.MaxDropDownHeight = 300; 

你可以在实施中尝试这个,让我知道它是怎么回事? ...

感谢。 马特。 马修奥尔尼 高级顾问 - 用户体验 Avanade Australia

答案 1 :(得分:1)

我为此here添加了一个解决方案,可以限制在ACB中加载的项目数量,并为200000项目提供良好的性能。