Программное определение максимального размера в текстовом поле (WP7)

В настоящее время я пишу программу для чтения электронных книг для Windows Phone Seven, и я пытаюсь стилизовать ее. как читатель Kindle. Для этого мне нужно разделить мои книги на страницы, и это станет намного сложнее, если добавить переменные размеры шрифтов.

Для этого в настоящий момент, Я просто добавляю слово за раз в текстовый блок, пока оно не станет выше своего контейнера. Однако, как вы понимаете, для документа, содержащего более 120 000 слов, это занимает неприемлемый период времени.

Есть ли способ узнать, когда текст выйдет за границы (логически разделив его на страницы), не имея на самом деле отрендерить это? Таким образом, я смогу запустить его в фоновом потоке, чтобы пользователь мог продолжать читать тем временем.

Пока что единственная идея, которая пришла мне в голову, - это выяснить, как текстовый блок определяет свои границы (в вызов меры?), но я понятия не имею, как найти этот код, потому что отражатель ничего не показал.

Заранее спасибо!

5
задан Liam Dawson 4 May 2013 в 14:08
поделиться