Текстовое поле WPF в “виртуальном” режиме

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

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

6
задан Konstantin Spirin 23 February 2010 в 03:17
поделиться

2 ответа

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

.
0
ответ дан 17 December 2019 в 22:12
поделиться

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

1
ответ дан 17 December 2019 в 22:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: