Показать какой-нибудь форматированный текст в WPF, который пользователь может скопировать в слово - PullRequest
1 голос
/ 22 октября 2010

Я хочу показать некоторый форматированный текст в клиентском приложении WPF, который пользователь может выбрать и скопировать в слово.

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

Что лучше использовать здесь?Элемент управления richtext трудно заполнить (я думаю), а html показать нелегко, не так ли?

1 Ответ

1 голос
/ 22 октября 2010

Уверен, RichTextBox должен быть вашим ответом.

У вас будет RichTextBox , содержащий FlowDocument , содержащий ваши таблицы .

Из этой первой статьи:

Элемент управления RichTextBox позволяет вам отображать или редактировать содержимое потока, включая абзацы, изображения, таблицы и многое другое. В этой теме вводится TextBox класс и предоставляет примеры того, как использовать его как в расширяемом приложении Язык разметки (XAML) и C #.

<RichTextBox>
  <FlowDocument>
    <Table>
      <TableRowGroup>
        <TableRow>
          <TableCell>
            <!-- One or more Block-derived object… -->
          </TableCell>
        </TableRow>
      </TableRowGroup>
    </Table>
  </FlowDocument>
</RichTextBox>

Когда содержимое копируется из RichTextBox, оно обрабатывается как стандартный RTF, поэтому Word распознает большинство (если не все) форматирования.

Интересная мысль: FlowDocuments тесно связаны с форматом файла XPS, который Windows 7 / Vista может печатать изначально. Существует огромная совместимость между Silverlight / WPF / XPS и в некоторой степени даже файлами Word 2007 docx.

Я даже слабо помню, как редактировал файл XPS в конструкторе WPF в Visual Studio - хотя не цитируйте меня по этому поводу, поскольку это было довольно давно, и я не помню, что именно я сделал.

...