3

.NET 3.5 を使用して、WPF のテキスト ボックスに永続的な問題があります。ラッピングが有効になっている TextBox に大量 (5000 行以上) のデータがあると、サイズ変更中のウィンドウのパフォーマンスが非常に悪くなります。

これは TextWrapping="Wrap" でのみ発生します。テキスト データをバインドしても、プログラムで設定しても違いはありません。

コードは文字通り次のように単純です。

<TextBox Margin="12,39,337,29" Text="{Binding Output, Mode=OneWay}" TextWrapping="Wrap" VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Disabled" />

テキストは単一の文字列にバインドされます。バインドされたデータは変更されていません。

編集:ウィンドウのサイズ変更中にデータが変更されていないということです。今後更新予定です。TextBox は編集可能である必要はありませんが、実際のテキストは選択可能である必要があります。/編集。

同じ問題を抱えている AvalonEdit を簡単に試してみました。この問題を説明している他のスレッドが見つからないのは奇妙に思えます。

何かアドバイス?

ありがとう、リッチ

4

4 に答える 4

2

windowResizeStartイベントに反応して、テキストブロックの折り返しを無効にすることができます。次に、サイズ変更が完了したら1回だけ折り返します。

あなたはパフォーマンスを得るが、私が推測するいくつかの視覚的な才能を失う。

于 2012-06-15T14:57:17.207 に答える
0

FlowDocumentScrollViewera の代わりに a を使用しない理由TextBlock

http://msdn.microsoft.com/en-us/library/system.windows.controls.flowdocumentscrollviewer.aspx

于 2012-06-15T09:48:39.930 に答える