Используя FlowDocument WPF, я столкнулся с рядом ситуаций, когда мне нужно было больше контролировать макет документа, от простых вещей (верхние и нижние колонтитулы страниц) до более сложных (сноски, журнальный стиль) и еще более сложных ( художественные тексты с критическим аппаратом - одно из моих актуальных требований).
Однако, насколько я могу судить, мои единственные варианты:
A. Используйте FlowDocument и потеряйте контроль над макетом.
B. Напишите все с нуля, используя TextFormatter.
Вариант A для меня не вариант, а вариант B требует реализации десятков методов и, что более важно, потери мощности FlowDocument и связанных с ним средств просмотра.
Мой вопрос:
Есть ли какая-либо альтернатива, которая позволит мне использовать возможности FlowDocument, который покрывает 90 % моих потребностей в макете, и писать только код, необходимый для реализации остальных 10 %?
РЕДАКТИРОВАТЬ: для меня крайне важен аспект перекомпоновки FlowDocument. Я понимаю, что прошу как перекомпонуемый контент, так и точный контроль над макетом, что несколько противоречиво. Тем не менее, я знаю, что это можно сделать - я написал простую реализацию с использованием TextFormatter, которая выполняет то, что я хочу, но я бы НАМНОГО лучше использовал FlowDocument с каким-то расширением, чтобы избежать повторной реализации каждой функции.
РЕДАКТИРОВАТЬ 2: Кажется, что мне действительно нужно подключиться к внутреннему пагинатору FlowDocument, чтобы я мог дать ему инструкции по созданию пользовательского класса. Есть ли способ сделать это?

