Отставание текстового поля с большим количеством данных?(Silverlight 4) - PullRequest
2 голосов
/ 29 сентября 2011

У меня есть текстовое поле, привязанное к строке в моей ViewModel через привязку TwoWay, которая часто содержит сотни строк, если не больше.Когда текстовое поле содержит много текста, при вводе текста может проявиться задержка ввода.

Итак, я сейчас пытаюсь отследить источник этого удара производительности, и мне интересно, может ли это быть ограничениемсамого элемента управления.

Есть мысли?

Спасибо!

Редактировать:

В моих тестах у меня 800 строк211 символов каждый, когда я начинаю видеть заметную задержку.И чем больше я добавляю текст, тем больше он отстает.

Вот код:

<TextBox x:Name="rightTextBox" Text="{Binding Source={StaticResource ViewModel}, Path=Text, Mode=TwoWay}"
    AcceptsReturn="True" />

И мое текстовое поле привязано к этой строке:

private string text;
public string Text
{
    get
    {
        return this.text;
    }
    set
    {
        if (this.text != value)
        {
            this.text= value;
            NotifyPropertyChanged("Text");
        }
     }
 }

 public event PropertyChangedEventHandler PropertyChanged;
    private void NotifyPropertyChanged(string propertyName)
    {
        if (PropertyChanged != null)
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    }

1 Ответ

2 голосов
/ 29 сентября 2011

Итак, в основном вы просите TextBox (который предназначен для таких вещей, как «Пожалуйста, введите ваше имя») обрабатывать текст на 300 КБ, и теперь вы видите некоторое отставание. Хммм ... Вы пытались создать пустое приложение Silverlight, содержащее один TextBox, присвоить этот объем текста непосредственно его свойству Text, а затем начать редактирование. Вы все еще видите отставание? Если так, то звучит так, будто вы раздвигаете границы текстового поля.

Я не знаю серьезной альтернативы, возможно, что-то стороннее может помочь. Вполне возможно, что RichTextBox может не страдать той же проблемой, так как он явно предназначен для такого рода редактирования текста. Однако его трудно связать со странным диалектом Xaml, а не с простым текстом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...