Мне нужно добавить блоки (абзацы) в FlowDocument и остановиться при достижении определенной высоты:
FlowDocumentScrollViewer fld = new FlowDocumentScrollViewer();
fld.Document = new FlowDocument();
for (int i = 1; i < 10; i++)
{
Paragraph p1 = new Paragraph(new Run("Calling this method has no effect if layout is unchanged, or if neither arrangement nor measurement state of a layout is invalid."));
fld.Document.Blocks.Add(p1);
fld.Arrange(new Rect(0, 0, 0, 0));
fld.UpdateLayout();
fld.Arrange(new Rect(0, 0, 0, 0));
System.Windows.Size msize = fld.RenderSize;
if (msize.Height > 400)
break;
}
Теперь мои вопросы: Как я могу получить реальный или визуализированный размер FlowDocumentScrollViewerв петле?Процесс рендеринга не запускается, пока цикл не закончится.Но мне нужна высота, чтобы закончить цикл.UpdateLayout (), кажется, не делает работу.Кто-нибудь знает, как получить визуализированную высоту?