Возможно ли использовать TextBox в «виртуальном» режиме.Текстовое поле WPF в «виртуальном» режиме
Я хочу предоставить текст по требованию, когда пользователь прокручивает документ.
Возможно ли использовать TextBox в «виртуальном» режиме.Текстовое поле WPF в «виртуальном» режиме
Я хочу предоставить текст по требованию, когда пользователь прокручивает документ.
Я думал, что виртуальный режим был предназначен для ускорения производительности приложений, получая и обрабатывая данные по запросу. Если пользователь прокручивает документ, разве это не означает, что данные уже загружены? Не могли бы вы привязать TextBox к свойству в коде и просто установить значение этого свойства во время прокрутки пользователя?
Чтобы использовать встроенную виртуализацию (то есть VirtualizingStackPanel, используемую по умолчанию ListBox), вы должны иметь возможность разбивать содержимое на элементы, которые могут быть последовательно загружены по мере необходимости (логическая прокрутка). Для этого для произвольного большого текста потребуется много предварительной обработки для вычисления переноса строк и разбиения текста на строки или группы строк. После этого вам нужно будет использовать контейнер, полученный из ItemsControl, вместо одного TextBox. У вас есть требование иметь редактируемый текст?
Не редактируемый, но возможность выбрать фрагмент текста и сделать Ctrl + C будет хорошо. –
Например, загружается только первая страница данных. Когда пользователь прокручивается вниз, я хочу, чтобы текстовое поле запрашивало у меня вторую страницу, и я предоставлю ее. –
ах, я понимаю, что вы имеете в виду. например, как веб-сайты динамически загружают контент, когда просматривается первая страница, прокручивая ее вниз. время, чтобы задать этот вопрос! :) – Dave
«только получение и рендеринг данных по запросу» - это виртуализация данных. «получение всего, но только предоставление некоторых данных по запросу» - это то, что нам нужно большую часть времени (виртуализация пользовательского интерфейса). – fjch1997