Документы WPF: как создавать абзацы «подчеркивания», на которые можно писать ответы на вопросники - PullRequest
1 голос
/ 22 сентября 2009

Я создаю приложение, предназначенное для распечатки форм, которые должны заполнять люди, пишущие на бумаге. Эти документы соответствуют стилю вопросов и ответов. Как правило, у вас есть абзацы в стиле «подчеркивание», на которые можно написать произвольный ответ длины абзаца.

Как бы вы создали это с помощью WPF Documents?

Вот макет того, что я имею в виду, сделанный с помощью Word с таблицами и табуляции:

макет http://img147.imageshack.us/img147/9350/questionnaire.png

1 Ответ

0 голосов
/ 14 октября 2009

Я наконец нашел способ достичь этого, подумал, что поделюсь.

Создайте внешнюю таблицу с двумя строками и двумя столбцами, как и следовало ожидать.

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

Вот как это выглядит в коде:

        for (int i = 1; i < pQuestionSpec.NumberOfLines; i++)
        {
            Table innerT = new Table();
            var col1 = new TableColumn();

            col1.Width = new GridLength(1, GridUnitType.Star);
            innerT.Columns.Add(col1);

            var innerRowGroup = new TableRowGroup();
            var innerRow = new TableRow();

            var cell2 = new TableCell();
            cell2.BorderThickness = new Thickness(0, 0, 0, 1);
            cell2.BorderBrush = Brushes.Black;
            cell2.Blocks.Add(new Paragraph());

            innerRow.Cells.Add(cell2);
            innerRowGroup.Rows.Add(innerRow);

            innerT.RowGroups.Add(innerRowGroup);

            cell.Blocks.Add(innerT);
        }
...