2011-02-10 3 views
2

Я использую в WPF textBox управление как окно чата -> использование ввода сообщений чата в элемент управления textBox. Проблема заключается в том, что пользователь вводит немного быстрее TextBox реагирует медленно. Я хотел бы как-то ускорить ответ textBox, если это возможно.Ускоренный отклик управления TextBox

Любые идеи. Трудно описать этот behevior, если у вас есть время попробовать, быстро введите этот элемент управления.

Отредактировано:

Вот оригинальная часть кода TextBox в:

<TextBox Text="{Binding Path=RpText,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
      TextWrapping="Wrap" 
      VerticalScrollBarVisibility="Auto" 
      FontSize="14" 
      Margin="2,2,2,2" 
      Grid.Row="3" 
      MinHeight="70" 
      Micro:Message.Attach="[PreviewKeyDown]=[Action SendRp($eventArgs)]"/> 

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

Вот модифицированный код TextBox в

<TextBox 
      TextWrapping="Wrap" 
      VerticalScrollBarVisibility="Auto" 
      FontSize="14" 
      Margin="2,2,2,2" 
      Grid.Row="3" 
      MinHeight="70"/> 

Но я сравниваю реагирует с типизации в скайп, Gtalk, и я думаю, что это было глупо сравнивать управление MS WPF с «управлением TextBox» в Skype или GTalk.

О связывании Asyc я попробовать:

<TextBox Text="{Binding Path=RpText,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, IsAsync=True}"/> 

Текст пишет в управлении текстового поля как реверсе.

Например, вы напечатав: Здравствуйте и в TextBox constrol является olleH :)

ответ

2

Наручники и обработчики событий могут замедлить текстовое поле. У вас есть сложный код, связанный с свойством Text? У вас есть обработчики событий, которые могут замедлить текстовое поле?

Вы можете использовать asynchronous bindings, если вы не можете позволить себе уменьшить сложность кода связанного имущества. Если вы обрабатываете текст текстового поля через событие, выполняйте большую часть операций в отдельном потоке (так что поток графического интерфейса не замедляется).

+0

Привет, спасибо за отзыв, я попробовал реализовать ваши советы, но я бы сказал, что это то же самое, а также привязка Asyc, вызывающая обратную запись. –

+0

Что такое Micro: Message.Attach = "[PreviewKeyDown] = [Action SendRp ($ eventArgs)] do? Я думаю, вы можете удалить IsAsinc, если это не помогло. –

+0

Мне нужно проверить, что я нажал клавишу ввода пользователя, это то же самое, что и PreviewKeyDown = "eventHandler", только я привязываю метод из класса модели вида в этом событии textBox. Вы чешский?: DI am Slovak: DD –

Смежные вопросы