2011-02-10 9 views
2

私はWPF 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)]"/> 

私は2つの方法で結合してもPreviewKeyDownを省略し、私はそれが私の意見によると同じであると言うでしょう。ここで

は、テキストボックス(TextBox)コントロールの

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

のコードを変更している。しかし、私は、Skype、Gtalkなどでタイピングと反応して比較し、私はそれは愚かでSkypeやGtalkなどで「TextBoxコントロール」を持つMS WPFコントロールを比較したと思います。

Asycが、私はそれを試し結合について:

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

テキストを逆としてTextBoxコントロールに書いています。

たとえば、あなたが入力:こんにちはTextBoxなどのconstrolにはolleHです:)

答えて

2

バインディングとイベントハンドラは、テキストボックスを遅くすることができます。 Textプロパティにバインドされた複雑なコードはありますか?テキストボックスを遅くするイベントハンドラがありますか?

バインドされたプロパティのコードの複雑さを軽減できない場合は、asynchronous bindingsを使用できます。テキストボックスのテキストをイベント経由で処理する場合は、操作の大部分を別のスレッドで行います(GUIスレッドが遅くなることはありません)。

+0

こんにちは、フィードバックに感謝、私はあなたのアドバイスを実装しようとしましたが、私は同じであると言うでしょう、Asycバインディングは逆の書き込みを引き起こします。 –

+0

Micro:Message.Attach = "[PreviewKeyDown] = [Action SendRp($ eventArgs)]は何をしますか?それが役に立たなかったら、IsAsincを削除することができますか? –

+0

私はユーザーがEnterキーを押したかチェックします。 PreviewKeyDown = "eventHandler"と同じですが、このtextBoxイベントのビューモデルクラスからメソッドをバインドするだけです。チェコ語ですか?:DI am Slovak:DD –

関連する問題