2009-09-21 4 views
1

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

Как создать это с помощью WPF-документов?

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

mock up http://img147.imageshack.us/img147/9350/questionnaire.png

ответ

0

я, наконец, нашел способ для достижения этой цели, подумал я хотел бы поделиться.

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

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

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

 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); 
     } 
+0

Мне любопытно, почему вы создаете элементы управления-кода. Вы можете легко создать такие элементы управления в XAML и использовать ItemTemplate для создания текстовых полей для ввода данных. –

+0

Если вы дадите мне это в ответ, который работает, я дам вам все, что я могу сделать: –