powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Определить текст, который поместился в FormattedText
1 сообщений из 1, страница 1 из 1
Определить текст, который поместился в FormattedText
    #38968089
RomanA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пишу некую программу, часть функционала которой есть постраничное отображение данных. Сначала текст нужно разбить на страницы, а потом его отображать. Для отображения и разбиения хочу использовать объект FormattedText.


Код: c#
1.
2.
3.
4.
5.
6.
FormattedText someFormattedText = new
      FormattedText("Some text...",
      CultureInfo.GetCultureInfo("en-us"),
      FlowDirection.LeftToRight,
      new Typeface("Verdana"),
      36, System.Windows.Media.Brushes.Black);



Размер области для рисования ограничен:

Код: c#
1.
2.
3.
4.
someFormattedText.MaxTextWidth = someWidth;
someFormattedText.MaxTextHeight = someHeight;

someFormattedText.Trimming = TextTrimming.None;



Нужно определить текст который поместится в область, чтобы знать где заканчивается старая страница.

И вот на этом месте я застрял...

Первая мысль была использовать метод последовательного приближения, закомментировав задание MaxTextHeight, тем самым определяя необходимую для отображения текущего куска текста высоту. Тем более, что примерное количество символов, помещающихся в область, будет известно после первой страницы и итераций на страницу не должно быть слишком много. Но тут, как оказалось, есть существенная проблема - свойство Text у объекьа FormattedText только для чтения, а значит нужно будет постоянно пересоздавать объект, что, вероятно, очень накладно.

Вторая мысль была вычислить TextHeight для всего текста и разделить на someHeight (высоту страницы), этот метод я еще попробую, но тоже есть сомнения, что будет работать корректно с разными шрифтами и текстами.

Может быть кто-нибудь сталкивался с подобной проблемой или у кого-нибудь есть еще идеи?
Неужели никак нельзя вытащить информацию о реально отображенном значении из FormattedText?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Определить текст, который поместился в FormattedText
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]