WPF текстовое поле в "виртуальном" режиме - PullRequest
6 голосов
/ 23 февраля 2010

Возможно ли использовать TextBox в "виртуальном" режиме.

Я хочу предоставить текст по запросу, когда пользователь просматривает документ.

Ответы [ 2 ]

1 голос
/ 24 февраля 2010

Чтобы использовать встроенную виртуализацию (т. Е. VirtualizingStackPanel, используемый по умолчанию для ListBox), вы должны иметь возможность разбивать содержимое на элементы, которые можно постепенно загружать по одному по мере необходимости (логическая прокрутка). Чтобы сделать это для произвольного большого текста, потребуется много предварительной обработки для вычисления переноса строк и разбивки текста на строки или группы строк. Как только вы это сделаете, вам нужно будет использовать контейнер, производный от ItemsControl, вместо одного TextBox. У вас есть требование иметь редактируемый текст?

0 голосов
/ 23 февраля 2010

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

...