0

我是 Windows Phone 开发的新手,我正在尝试开发一个字典应用程序。我有一个允许用户输入单词的文本框和一个实时显示与用户输入匹配的所有单词的列表框,所以我使用了 textchanged 事件,如下所示:

private void searchTextBox_TextChanged(object sender, TextChangedEventArgs e)
    {
            wordNeedToDefine = searchTextBox.Text;
            if (!(wordNeedToDefine == null || wordNeedToDefine.Equals("")))
            {
                var items = (from words in wordAndIndexList where words[0].StartsWith(wordNeedToDefine) select words[0]);                    
            }
            this.Dispatcher.BeginInvoke(() =>
            {
                wordsListBox.ItemsSource = items;
            });
    }

一切正常,但存在性能问题,当用户输入文本和列表框更新项目时,它会滞后。有人可以告诉我我需要做些什么来提高性能。我也在尝试 AutoCompleteBox 但它有同样的问题。提前致谢。

4

1 回答 1

1

如果您使用 aCollectionViewSource进行过滤,您将获得更好的性能,并且您必须过滤的字符越多将使其更快。即只有在用户输入至少 3 个字符后才开始过滤。

于 2012-05-15T17:35:17.000 回答