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

如何消除Silverlight Autocompletebox控件的初始加载时间?,silverlight,autocomplete,Silverlight,Autocomplete,我有一个Silverlight自动完成框来显示工作人员列表,它工作得很好。我通过加载BusinessObjects列表来获取数据 我的问题是,当你第一次开始在框中输入内容时,需要将近2秒钟的时间才能给出建议。之后,任何后续的搜索都几乎是即时的 显然,这里一定发生了某种延迟加载,它必须以某种方式配置为在控件的初始使用时触发 我想在控件第一次加载时以某种方式加载数据,这将有助于更好的用户体验,即使在第一次输入时,建议似乎是即时的 有人知道我是如何做到这一点的吗?好的,在Silverlight论坛上来

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

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

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

我想在控件第一次加载时以某种方式加载数据,这将有助于更好的用户体验,即使在第一次输入时,建议似乎是即时的


有人知道我是如何做到这一点的吗?

好的,在Silverlight论坛上来回讨论之后,我找到了一个很好的解决方法,我想我会与大家分享。它是由一个友好的澳大利亚人马特提供的,我想如果人们好奇的话,我会把它贴在这里

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

以下是他的帖子:

我用你的代码和一个更大的项目集合(100000)更新了我的测试项目,我开始看到这个问题…:)

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

uxAuto.MinimumPrefixLength = 2;
uxAuto.MinimumPopulateDelay = 200;
uxAuto.MaxDropDownHeight = 300; 
你能在你的实现中尝试一下,让我知道它是如何进行的吗

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

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

我也有同样的问题,但尚未找到任何解决方案。问题似乎在于创建项目视图所需的时间。您最初是与所有工作人员一起加载它,还是在每次按键后调用web服务。这对于瓶颈的位置有很大的不同。不,在类实例化时调用WCF服务,甚至在第一次键关闭之前。非常感谢!。虽然我没有问这个问题,但我有一个现在已经解决的问题:DGood!感谢澳大利亚的马修·奥尔尼。:)通过链接提供的文章很好,但我建议您尽可能在答案中包含一些解释和示例片段。