0

私はWindowsPhoneの開発に不慣れで、辞書アプリを開発しようとしています。ユーザーが単語を入力できるようにするテキストボックスと、ユーザー入力に一致するすべての単語をリアルタイムで表示するリストボックスがあるので、以下のように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

CollectionViewSourceを使用してフィルタリングを実行すると、パフォーマンスが向上します。フィルタリングする必要のある文字が多いほど、パフォーマンスが向上します。つまり、ユーザーが少なくとも3文字を入力した後でのみ、フィルタリングを開始します。

于 2012-05-15T17:35:17.000 に答える